如何在模板if语句中使用Django翻译变量(trans)

时间:2014-02-27 07:38:41

标签: python django django-templates

我在django面临一个问题。以下是我的代码片段:

{% if pageName != 'My page Name' %}
  .....{{ then this }}

现在这适用于英语,现在当我用另一种语言翻译我的应用程序时,pageName也根据该语言而改变。因此,上述逻辑不起作用,因为它是硬编码英语

所以我必须尝试用'My page Name'的翻译版本来实现逻辑。但我不能直接在if中使用它:

{% if pageName != trans 'My page Name' %} 

所以我想把翻译版本存储在另一个变量中,然后检查一下这个变量:

{%blocktrans%} "My page Name" {{myvar}} {%endblocktrans%}
{% if pageName != myvar %}

但这也不起作用myvar取值"My page Name",而不是它的翻译版本。

任何线索如何解决它。提前谢谢。

1 个答案:

答案 0 :(得分:8)

您可以使用反式模板标签,但这样

{% trans "My page Name" as myvar %} 
{% if pageName != myvar %}
...

请参阅trans template tag