1.g
global全局对象
g对象是专门用来保存用户的数据的
g对象在一次请求中的所有的代码的地方, 都是可以使用的
突破变量存储位置限制,为数据传递添加了新的方式,比如我们在before_request产生一个数据在后面需要使
用, 可以保存在g对象中, 在其他视图西数中就可以使用这个数据.
@user_bp.route('/')
@cache.cached(timeout=20) # 给视图函数加缓存,20秒的超时时间
def index():
print('已经访问到首页')
u = g.user
print(u)
time.sleep(5)
return f"Hi,{u},欢迎来到首页"
# 四大内置对象
# g:又称global全局对象
@user_bp.before_request
def bf_request():
# 在请求之前在g对象中储存数据
g.user = 'sun'
效果如下:
使用g对象的注意事项
在使用 g 对象时, 有几个注意事项需要记住:
1. g 对象只在当前请求的上下文中可用, 如果你尝试在请求之外的上下文中访问 g 对象, 将会引发错误,
2. 在同一请求期间, g 对象可以在不同的函数之间共享数据,但不能在不同的请求之间共享数据。每个请求都有自己的 9 对象实例。
3. 避免在 g 对象中存储大量数据,因为它是