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'
控制台会依次输出:张三 李四