Flask中g对象,以及g,session,flash之间的区别

一.g对象的使用

g对象用来专门存储用户信息,g的全称的为global

g对象在一次请求中的所有的代码的地方,都是可以使用的

g对象的使用:

  • 设置:g.变量名= 变量值
  • 获取:g.变量名

注意:g对象比如说在a路由设置只能在a路由中取到g对象,在b路由中没法获得g对象

from flask import Flask,g

app = Flask(__name__)

@app.after_request
def af(res):
    print(g.name)
    print("after...")
    return res
@app.route("/")
def index():
    g.name = "tank"
    return "ok"

@app.route("/index")
def index1():
    print(g.name)
    return "ok1"

if __name__ == '__main__':
    app.run()

# 请求访问了/ 路由可以拿到g.name ,但是在其他请求如/index 里面就拿不到g.name 了

二.g,session,flash之间的区别

  • session 只要设置,在任意请求中都能拿到,无论你拿多少次
  • flash 一旦设置,可在任意一次请求中获取,但是只能取一次
  • g 在A路由中设置,只能在A路由请求中请求中获取,其它的请求都不能获取
原文地址:https://www.cnblogs.com/baohanblog/p/12532557.html