flask请求流程
flask请求流程flask项目一启动,有6个全局变量
1 | _request_ctx_stack:LocalStack #LocalStack对象 |
请求来了
1 | app.__call__()----->内部执行:self.wsgi_app(environ, start_response) |
wsgi_app()
1 | 1.执行:ctx = self.request_context(environ):返回一个RequestContext对象,并且封装了request(当次请求的request对象),session。 |
如果在视图函数中使用request对象,比如:print(request)
1 | 1.会调用request对象的`__str__`方法,request类是:LocalProxy |
如果在视图函数中使用request对象
1 | 比如:print(request.method):实质上是取到当次请求的request对象的methid属性 |
最终,请求结束执行
1 | ctx.auto_pop(error)# 把ctx移除掉 |