如何在Flask中使用g.user全局变量
- 论坛
- 如何在Flask中使用g.user全局变量
9 浏览
如何在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模板包含以下内容时...
-
{% if session['logged_in'] %}
- 已登录为{{ g.user.username }} {% endif %}
我收到以下错误:
jinja2.exceptions.UndefinedError UndefinedError: 'flask.ctx._RequestGlobals object'没有属性'user'
登录功能本身正常工作。我错过了什么吗?