??????
目录08-4Flask请求上下文1首先分析请求上下文对象(ctx)创立2把请求对象(ctx)添加到local中(入栈)3找到视图函数并且使用导入request对象4请求结束时从Local中移除上下文对象(出栈)
??????flask请求上下文在分析上下文之前,要做好一个心理准备,因为设计到的代码会很多,需要不懂的要跟着文档自己去翻阅源码。
首先把涉及到的主要的类或者设计到的py页面展示如下图。下面我会以对应类或者页面去讲解flask源码
之前我们已经论述过了,每次请求过来都会触发app(),所以会触发FLask类的__call__方法,__call__方法会触发Flask类的wsgi_app()方法。然后所有的请求的整个生命周期都在整个wsgi_app()里面了。
1首先分析请求上下文对象(ctx)创立
1.0FLask类中的wsgi_app()中的ctx=self.request_context(environ)
1.1RequestContext类中的__init__
实例化出请求上下文对象ctx
并且