【问题标题】:Django: Issues with if condition in templatesDjango:模板中的 if 条件问题
【发布时间】:2012-12-11 10:19:25
【问题描述】:

我想在当前语言代码的基础上打印一些东西。为此,我做了这样的事情:

{% if request.LANGUAGE_CODE == en %}
    <h1>English</h1>
{% endif %}

但是这个 if 条件不比较当前语言代码。但是如果我在同一页上打印这个{{request.LANGUAGE_CODE}},那么它将打印en 作为语言代码,但是我的 if 条件不起作用,我不知道为什么??

【问题讨论】:

  • 你可以 {{ this_variable_does_not_exists }} 并且它会通过。如果您将测试等移动到它将评估的视图。

标签: python django templates if-statement lang


【解决方案1】:

LANGUAGE_CODE 是一个字符串,因此您只需像这样引用您的比较值:

{% if request.LANGUAGE_CODE == 'en' %}
    <h1>English</h1>
{% endif %}

还要检查ifequal tag

{% ifequal request.LANGUAGE_CODE 'en' %}
    ...
{% endifequal %}

还有一点:字符串上的 if 和 ifequal 区分大小写,因此您可能需要确保匹配正确的大小写(可能将 |lower 过滤器应用于两个参数)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-22
    • 2016-07-11
    • 2014-07-01
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    相关资源
    最近更新 更多