【问题标题】:Accessibility of Session variable in Jinja2 with different name [duplicate]Jinja2中具有不同名称的会话变量的可访问性[重复]
【发布时间】:2019-08-14 01:35:20
【问题描述】:

我想为登录的人和在 Flask 中注销的人显示不同的标题。我可以直接在 jija2 模板中使用 session 变量吗?

我为会话使用了不同的名称,因为 sqlalchamy 会话使用了另一个会话变量名称。

from flask import session as usersession

我已尝试访问 usersession 变量,但它显示未定义。但是当我使用session['username'] 时,我可以访问会话变量。

当我从用户会话中弹出时,它不会从会话中弹出。在 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 %}

【问题讨论】:

    标签: python session flask jinja2


    【解决方案1】:

    在你的视图函数中,试试usersession[‘username’] = ‘username

    在模板中:

    {{ usersession[‘username’] }}
    

    对于sessions,请确保您已正确设置环境以便能够访问会话(即密钥)。

    还可以查看flask-login,因为他们的“current_user”对象具有强大的功能,可能是您正在寻找的对象

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-17
      • 2017-08-01
      • 2014-12-14
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多