flask之g对象

g对象

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

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

g对象和session的区别

session对象是可以跨request的,只要session还未失效,不同的request的请求会获取到同一个session,但是g对象不是,g对象不需要管过期时间,请求一次就g对象就
from  flask import Flask,g,request

app = Flask(__name__)

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

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

@app.before_request
def be():
    #request.name="cxw is big"
    if request.path=="/login":
         g.name="cxw is big"

def set_g():
    g.name = "cxw is big"

@app.route("/")
def index():
    set_g()
    print("视图1",g.name)
    return "ok"

@app.route("/login")
def login():
    print("login视图1", g.name)
    return "login"

@app.after_request
def af(response):
    print("after_request", g.name)
    return response



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

相关推荐