如何在Flask中使用g.user global

如何在Flask中使用g.user global,第1张

如何在Flask中使用g.user global

g
是本地线程,并且是按请求的(请参阅代理说明)。该
session
当地一个线程,但在默认情况下被保存到一个MAC-签署cookie,并发送给客户端

您遇到的问题是,

session
每个请求都将重建该请求(因为该请求已发送给客户端,并且客户端将其发送回给我们),而设置的数据
g
仅在
请求的生命周期内可用。

最简单 的事情(注意

simple != secure
-如果你需要确保看看烧瓶登录)是简单地将用户的ID添加到会话,并加载每个请求的用户:

@app.before_requestdef load_user():    if session["user_id"]:        user = User.query.filter_by(username=session["user_id"]).first()    else:        user = {"name": "Guest"}  # Make it better, use an anonymous User instead    g.user = user


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5630273.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存