更新:session['sid']
中有空格,这就是为什么它不起作用的原因!
我正在使用python,flask,jinja2,html。 这是我的html代码的一部分。
<h1>{{session['sid']}}</h1> <!--shows 'admin'-->
<ul>
{% if session['sid'] != 'admin' %}
<li> <a href="/sendmail">SEND MAIL</a> </li>
<li> <a href="">MAIL BOX</a> </li>
{% endif %}
session
是从python发送到此html的字典类型数据,我再次检查了session['sid']
是'admin'
。但是这些超链接仍然会显示,因此if
语句似乎不起作用。在代码中的某处,还有session['sid']!='admin'
也不起作用。我用html搜索了if
语句示例,但是我仍然不明白我在哪里犯了错误。有人可以让我知道我在这里想念的吗?
我尝试在'
周围排除admin
或改用{% if equal session['sid'] 'admin'%}
。
答案 0 :(得分:2)
我使用template.j2
和此数据文件(命名为jinja-cli
)测试了您的模板(命名为data.json
):
{
"session": {
"sid": "admin"
}
}
命令行:
# pip install jinja-cli
# jinja -d data.json template.j2
结果正确:
<ul>
</ul>
所以我认为模板很好;您可能想在Python代码中转储session
来查看flask是否确实正确设置了它; flask.session
是代理;在引擎盖下是一个签名的cookie(doc
);因此您可能还应该检查Cookie设置;