Google App Engine Python 在 HTML 模板中使用 If Else

4 投票
2 回答
10351 浏览
提问于 2025-04-16 10:56

我正在使用Python在Google App Engine上创建一个网站。不幸的是,我找不到任何关于我问题的解决方案。我需要根据变量的内容来区分它。

比如,我会发送这样的变量:

content = {
       'mail':session.get('user_mail',''),
       'role':'Admin',
       }
render_template(self, 'index.html', content)

我需要这样的代码来判断用户的类型,是“登录”用户还是“管理员”用户。

{% if role == 'Ordinary' %}
    {{ role }}
{% elif role == 'Admin' %}
    {{ role }}
{% endif %}

我该怎么做呢?

或者你能给我建议一个更好的设计吗?

谢谢...

2 个回答

4

把逻辑放在你的视图函数里:

content = {
   'mail':session.get('user_mail',''),
   'role':'Admin',
   'show_role':True,
   }

或者

content = {
   'mail':session.get('user_mail',''),
   'role':'YetAnther',
   'show_role':False,
   }

然后你的模板就简单了

{% if show_role %}{{role}}{% endif %}
5

Django 模板里没有 elif 这个东西。你可以用下面这样的方式来实现:

{% if role == 'Login' %}
 ... stuff
{% else %}{% if role eq 'Admin' %}
 ... stuff
{% endif %}

或者,你也可以用 ifequal 来做:

{% ifequal role "Login" %}
 ... stuff
{% else %}{% ifequal role "Admin" %}
 ... stuff
{% endifequal %}

撰写回答