源码流程
a. 生成路由关系
[
Rule(‘index’,函数),
Rule(‘index’,函数),
Rule(‘index’,函数),
Rule(‘index’,函数),
]
b. 用户请求来了
- 获取用户U请求 并进行匹配
- 将ctx(封装了请求相关所有数据的对象)放置到 “特殊的位置”
c. 执行视图函数
d. 将函数返回值响应给用户
e. 将 ctx 在“特殊的位置”移除。
PS: 所有框架流程
#!/usr/bin/env python # -*- coding: UTF-8 -*- from flask import Flask app = Flask("xxxx") @app.route("/index") 添加路由的方式一 def index(): return "index" def order(): return "order" app.add_url_rule('/order',None,order) """ app.url_map=Map()=[ Rule(rule=/index endpoint=None view_func=index) Rule(rule=/order endpoint=None view_func=order) """ if __name__ == '__main__': app.__call__() """ def __call__(self, environ, start_response): #Flask框架的请求入口 #environ=用户请求相关的数据 #start_response=用户 """Shortcut for :attr:`wsgi_app`.""" return self.wsgi_app(environ, start_response) """ app.run()