最简单的Flask web程序就是这么几行
1 | from flask import Flask |
其实这里是创建了一个Flask实例app, app这个对象有符合WSGI规范的__call__
接口,外部进程会把app当做一个模块进行调用。
在Flask内部,wsgi_app调用dispatch_request函数,最终调用self.view_functions[rule.endpoint](**req.view_args)
这里view_function就是在应用中通过@app.route
关联的视图函数。视图函数进行业务处理,有的MVC框架管这个函数也叫controller。
Flask框架得到视图函数的返回值后,会把返回值按WSGI规定,处理为response对象。最后通过底层werkzeug的Response返回相应的结果。
流程上其实也不复杂,只是和其他框架一样,太多地方绕来绕去,不知道是不是OO功底太差,两三次类的替换,我就晕了。不过暂时也没必要扣细节了,先把整体流程明白了就好了