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

相关推荐
qq_33490315几秒前
用Python实现自动化的Web测试(Selenium)
jvm·数据库·python
Storynone2 分钟前
【Day30】卡码网:46. 携带研究材料,LeetCode:416. 分割等和子集
python·算法·leetcode
Xpower 173 分钟前
Clawith:开启多智能体协作的新纪元
人工智能·python·语言模型·自动化
moxiaoran57534 分钟前
使用springboot+flowable实现一个简单的订单审批工作流
java·spring boot·后端
阿钱真强道8 分钟前
28 Python 分类:不只是画一条线,一文认识支持向量机(SVM)
python·支持向量机·分类·svm·边界·核方法·高维
IT_陈寒9 分钟前
JavaScript 闭包陷阱:90%开发者踩过的5个坑,你中招了吗?
前端·人工智能·后端
Java面试题总结10 分钟前
go从零单排之方法
开发语言·后端·golang
Jay_Franklin11 分钟前
Python一站式科研工作流:从数据分析到报告生成
开发语言·python·论文笔记
m0_5180194813 分钟前
使用Python操作文件和目录(os, pathlib, shutil)
jvm·数据库·python
ZHOUPUYU15 分钟前
PHP性能分析与调优:从定位瓶颈到实战优化
开发语言·后端·html·php