如何在Flask中使用g.user全局变量

9 浏览
0 Comments

如何在Flask中使用g.user全局变量

据我理解,Flask中的g变量应该为我提供一个全局的存储数据的地方,比如在登录后保存当前用户的信息。这样理解对吗?

我希望在整个网站上,一旦用户登录,我的导航栏能显示用户的名称。

我的视图中包含以下代码:

from Flask import g #还有其他内容

在登录时,我这样赋值:

user = User.query.filter_by(username = form.username.data).first()
if validate(user):
    session['logged_in'] = True
    g.user = user

但似乎我无法访问g.user。相反,当我的base.html模板包含以下内容时...


我收到以下错误:

jinja2.exceptions.UndefinedError
UndefinedError: 'flask.ctx._RequestGlobals object'没有属性'user'

登录功能本身正常工作。我错过了什么吗?

0