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啦,从源码中我们就可以看到啦。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容