Flask-应用全局变量g
1.认识g对象
- g作为 flask 程序全局的一个临时变量,充当中间媒介的作用,我们可以通过它传递一些数据,例如一个数据库连接或者当前登入的用户。
- g保存的是当前请求的全局变量,仅在当前这一个请求内,从一个函数到另一个函数共享数据,不同的请求会有不同的全局变量,通过不同的thread id区别
2.同session的区别:
- session有过期时间,在未过期之前,同一客户端发来的不同request都能够共享这个session
3.g对象的使用
属性的设置:
g.name = '张三'
属性的获取:
既可以使用正常对象属性获取的方式:
name = g.name
也可以使用 get() 方法来获取(推荐),同字典操作,可以通过第二个参数来设置默认值,如果不输入,则默认为None
name = g.get("name","李四")
示例:
from flask import Flask, g app = Flask(__name__) def test_g(): print(g.get('name', None)) g.name = '李四' @app.route('/test') def test(): g.name = '张三' test_g() # 控制台会打印'张三' print(g.name) # 李四 return 'test' if __name__ == '__main__': app.run()
浏览器中输入'http://127.0.0.1:5000/test'
控制台会依次输出:张三 李四
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库