Flask框架整个流程源码解读 """ app.run() 本质执行的是 run_simple(ip,host,self) self 是当前的app对象 app.__call__ """ golbal文件,生成这些对象 _request_ctx_stack = LocalStack() _app_ctx_stack = LocalStack() current_app = LocalProxy(_find_app) request = LocalProxy(partial(_lookup_req_object, "request")) session = LocalProxy(partial(_lookup_req_object, "session")) 每一次有请求都会执行app.wsig_app(environ, start_response) app.wsig_app源码: def wsgi_app(self, environ, start_response): # RequestContext的对象,其中包含当前请求的东西。 ctx = self.request_context(environ) error = None try: try: #RequestContext的对象,ctx.push,就执行是RequestContext对象的push方法