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

相关推荐
爬虫程序猿6 分钟前
如何保存解析后的商品信息?
开发语言·python
fashia25 分钟前
Java转Go日记(四十二):错误处理
开发语言·后端·golang·go
Python测试之道2 小时前
测试开发面试题:Python高级特性通俗讲解与实战解析
开发语言·python
低代码布道师4 小时前
第五部分:阶段项目 4:构建 RESTful API 服务器
服务器·后端·restful
这里是小悦同学呀!5 小时前
python学习day2
java·python·学习
菠萝崽.6 小时前
RabbitMQ高级篇-MQ的可靠性
java·分布式·后端·消息队列·rabbitmq·异步编程
未来可期叶9 小时前
如何用Python批量解压ZIP文件?快速解决方案
python
张槊哲9 小时前
ROS2架构介绍
python·架构
风逸hhh10 小时前
python打卡day29@浙大疏锦行
开发语言·前端·python
浩皓素10 小时前
深入理解For循环及相关关键字原理:以Python和C语言为例
c语言·python