flask请求上下文管理源码分析

Posted xielinzhen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask请求上下文管理源码分析相关的知识,希望对你有一定的参考价值。

1、请求到来先执行app.__call__(self, environ, start_response)

技术分享图片

 

2、然后执行__call__中的wsgi_app方法

技术分享图片

 

3、执行wsgi_app中的request_context方法

技术分享图片

 

4、执行wsgi_app中的ctx.push()

技术分享图片

 

 5、执行上述push方法中的_request_ctx_stack.push(self)

_request_ctx_stack是一个全局的LocalStack对象

执行LocalStack对象的push方法,将ctx对象添加到Local对象的stack属性对应的列表中

 技术分享图片

 

 6、接着执行ctx对象push方法中的session_interface.open_session(self.app, self.request)

执行SecureCookieSessionInterface对象中的open_session方法,获取session,然后赋值给ctx对象的的session属性

技术分享图片

 

7、

 


以上是关于flask请求上下文管理源码分析的主要内容,如果未能解决你的问题,请参考以下文章

Flask上下文管理源码分析

Flask系列之源码分析

Flask上下文源码分析

Flask请求和应用上下文源码分析

Flask请求和应用上下文源码分析

flask 请求上下文源码(转)