Flask找上下文源码

1. app = Flask(name)

app.call

1.1 按住 command 键 点击 进到这个函数里

1.2 接着找 return 看看返回什么 点进去

1.3 找到定义函数

1.4 点进去先看这个里边有啥

1.5 找到定义类

1.6 找到RequestContext 类

1.7 找到 RequestContext ---> 的push 方法

1.8 点击 _cv_request 找到 globals.py 下的 _cv_request栈

2. 在wsgi的push方法中

2.1 进到push 方法

2.2 进到 app_context

2.3 进到APPContext

2.4 在ctx.py下 找到AppContext 类

2.5 找到AppContext --> 的push 方法

2.6 点击 _cv_app ---> 找到 globals.py 下的 _cv_app栈

3. 找到 --> APPContext --> RequestContext

3.1 进到LocalProxy

栈入口

栈的入口可以理解为:

应用上下文入口:当 app_ctx.push() 被调用时,应用上下文被推入栈。

请求上下文入口:当 _cv_request.set(self) 被调用时,当前请求上下文被推入栈。

栈退出

栈的退出通常在 pop() 方法中处理。Flask 在每个请求完成时,会自动调用请求上下文和应用上下文的弹出逻辑。

相关推荐
hmbbcsm3 分钟前
练习python题目小记(七)
开发语言·python
小周在成长5 分钟前
Java 匿名内部类简明指南(重点)
后端
czlczl2002092518 分钟前
SpringBoot手动配置:WebMvcConfigurer接口实现类的生效原理
java·spring boot·后端
程序员皮皮林19 分钟前
SpringBoot + nmap4j 获取端口信息
java·spring boot·后端
小二·20 分钟前
Spring框架入门:Spring 中注解支持详解
java·后端·spring
qq_3561969520 分钟前
day27pipeline管道@浙大疏锦行
python
计算机学长felix22 分钟前
基于SpringBoot的“某学院教室资产管理系统”的设计与实现(源码+数据库+文档+PPT)
数据库·spring boot·后端
噔噔噔噔@23 分钟前
第一章、基础理论——第一节、软件测试概述
python·单元测试·压力测试
冷雨夜中漫步24 分钟前
AI入坑之路——(1)搭建本地的Python与Jupyter开发环境
人工智能·python·jupyter
CRUD酱26 分钟前
RabbitMQ是如何确保消息的可靠性的?
java·python·rabbitmq