我想为登录的人和在Flask中注销的人显示不同的标题。我可以直接在jija2模板中使用会话变量。
自从以来,我使用了其他名称的会话,另一个用于sqlalchamy会话的会话变量名称。
from flask import session as usersession
我尝试访问usersession变量,但这是未定义的。但是当我使用session['username']
时,我可以访问会话变量。
当我从usersession弹出时,它还没有从会话中弹出。 tamplete中访问的会话仍然具有username
变量
usersession.pop('email', None)
usersession.pop('type', None)
jinja2.exceptions.UndefinedError: 'usersession' is undefined
我的代码在下面。
{% if usersession['username'] is not none %}
{% include "store/headers/loginheader.html" %}
{% else %}
{% include "store/headers/logoutheader.html" %}
{% endif %}
答案 0 :(得分:0)
在您的视图功能中,尝试usersession[‘username’] = ‘username
在模板中:
{{ usersession[‘username’] }}
对于sessions,请确保您已正确设置环境以能够访问会话(即密钥)。
也请查看flask-login,因为其“ current_user”对象具有强大的功能,可能正是您要寻找的