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

相关推荐
开始学java1 分钟前
ArrayList的add方法底层实现原理
后端
ArabySide3 分钟前
【Spring Boot】用Spring AOP优雅实现横切逻辑复用
java·spring boot·后端
free-elcmacom7 分钟前
机器学习进阶<7>人脸识别特征锚点Python实现
人工智能·python·机器学习·rbfn
天才少女爱迪生8 分钟前
图像序列预测有什么算法方案
人工智能·python·深度学习·算法
计算机学姐8 分钟前
基于Python的高校后勤报修系统【2026最新】
开发语言·vue.js·后端·python·mysql·django·flask
南山乐只10 分钟前
Spring Boot 2.x => 3.x 升级指南
java·spring boot·后端
Q_Q196328847511 分钟前
python+django/flask+vue的智能房价分析与预测系统
spring boot·python·django·flask·node.js·php
txwtech15 分钟前
第20篇 python如何找到pyd文件的
开发语言·python
00后程序员张17 分钟前
Python 抓包工具全面解析,从网络监听、协议解析到底层数据流捕获的多层调试方案
开发语言·网络·python·ios·小程序·uni-app·iphone
胡八一20 分钟前
解决使用PCbuild\build.bat构建python之后,运行pip报错
开发语言·python·pip