flask请求上下文

在分析上下问之前,要做好一个心理准备,因为设计到的代码会很多,需要不懂的要跟着文档自己去翻阅源码。
首先把涉及到的主要的类或者设计到的py页面展示如下图。下面我会以对应类或者页面去讲解flask源码

之前我们已经论述过了,每次请求过来都会触发app(),所以会触发FLask类的__call__方法,__call__方法会触发Flask类的wsgi_app()方法。然后所有的请求的整个生命周期都在整个wsgi_app()里面了。
根据上图类和序号来完成我们的分析流程。
1 首先分析请求上下文对象(ctx)创立
-
1.0 FLask 类中的
wsgi_app()中的 ctx = self.request_context(environ) -
1.1 RequestContext类中的
__init__-
实例化出请求上下文对象ctx
-
并且关注:
if request is None: request = app.request_class(environ) self.request = request -
-
1.2 Request类中的
__init__




