Django:模板中if条件的问题

时间:2012-12-11 10:19:26

标签: python django templates if-statement lang

我想根据当前语言代码打印一些东西。为此,我做了类似的事情:

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

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

1 个答案:

答案 0 :(得分:5)

LANGUAGE_CODE是一个字符串,所以你只需要像这样引用你的比较值:

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

同时查看ifequal tag

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

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