flask的deamon简单分析

代码样例

#!/usr/bin/env python
#-*- coding:utf-8 -*-

from flask import Flask

app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World"

if __name__ == "__main__":
    app.run()

分析所谓的wsgi应用,wsgi应用一定要有call函数。这样最后才能被wsgi调用,并将wsgi应用处理的结果处理加工,返回给web服务器。

针对上面的deamon样例进行简单的flask框架分析

所谓的web框架就是处理由web服务器接收并传递过来的http请求的一系列逻辑操作。flask自己本身就是一个wsgi应用,他的def dispatch_request(self):函数就是根据url去调用对应的视图函数处理request请求,具体体现在self.view_functionsrule.endpoint,self.view_functions(是一个字典)从哪儿来的呢,是通过self.add_url_rule函数去填充view_functions自己的值(将路径作为key,视图函数作为value值,添加到view_functions的字典),谁去调用self.add_url_rule呢,答案就是app.route函数,也就是我们经常用的装饰器啦。

那deamon中,web器在哪儿呢,其实就是app.run啦,从源码中我们就可以看到啦。

你可能感兴趣的:(flask的deamon简单分析)