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 在每个请求完成时,会自动调用请求上下文和应用上下文的弹出逻辑。

相关推荐
Aspect of twilight5 分钟前
Pytorch 3D 安装教程
人工智能·pytorch·python·pytorch3d
PieroPc5 分钟前
NiceGUI sqlite3 写一个博客系统 CURD 分类
python·nicegui
回家路上绕了弯5 分钟前
微信抢红包深度解析:从算法原理到高并发工程实现
分布式·后端
梦幻精灵_cq12 分钟前
python-os.path的“世纪大阅兵”:两个函数-11条语句(2+9)定乾坤
python·学习
AndrewHZ24 分钟前
【图像处理基石】RGB图像频域滤波:原理、实现与实战(Python)
图像处理·python·算法·计算机视觉·傅里叶变换·频域滤波·滤波核设计
Misnice29 分钟前
使用 SQLAlchemy 连接数据库
数据库·python·mysql·fastapi
龙腾AI白云30 分钟前
【循环神经网络讲解(3)】
python·深度学习
月亮!33 分钟前
当技术中立性遇上算法偏见:软件测试者的伦理启示
网络·人工智能·python·测试工具·算法·安全·开源
Hui Baby34 分钟前
Mq扩充队列提高并发
开发语言·后端·ruby
曲幽35 分钟前
Flask核心技能:从零上手视图函数
python·json·app·web·get·post·request·response