flask之g对象

Posted xuchengnotes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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()

以上是关于flask之g对象的主要内容,如果未能解决你的问题,请参考以下文章

Flask之初学者

深入浅出Flask:flask使用请求的全局对象g

flask基础之LocalProxy代理对象

六十七:flask上下文之Local线程隔离对象

Flask之模板之宏继承包含

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