2012-12-11 138 views
2

我想根據當前語言代碼打印某些內容。爲此我做了這樣的事情:Django:模板中if條件的問題

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

但是,如果條件不比較當前的語言代碼。但是,如果我在同一頁上打印此{{request.LANGUAGE_CODE}},那麼它將打印en作爲語言代碼,但我的條件不起作用,我不知道爲什麼?

+0

你可以{{this_variable_does_not_exists}}它會通過。如果您將測試等移動到視圖中,它將進行評估。 –

回答

5

LANGUAGE_CODE是一個字符串,那麼你只需要enquote你比較值是這樣的:

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

檢查也ifequal tag

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

多一點:if和對字符串ifequal是大小寫敏感,所以你可能想要確保你匹配正確的大小寫(也許應用| lower過濾器到兩個參數)