ifequal / ifnotequal
在模板語言里比較兩個值並且在他們一致的時候顯示一些內容,Django提供了 ifequal 和 ifnotequal 標簽。
ifequal 標簽比較兩個值,如果相等,則顯示{% ifequal %}和{% endifequal %}之間的所有內容
ifnotequal 標簽 與 ifequal 對應,當兩個值不相等時顯示。
與 if 標簽一樣,ifequal 和 ifnotequal標簽也支持 else 標簽,但不支持elif,可以在else里面嵌套if語句。
參數可以是硬編碼的 string(單引號和雙引號均可),也可以是數字,但不能是 True 或者 False 。
其它的參數類型,如字典、列表或 boolean 不能硬編碼在 ifequal 和 ifnotequal標簽里面。
如果你需要測試某個變量是 True 或 False, 用 if 標簽即可;用 ifequal標簽與 1, 0 比較也可以。
只能兩個參數,不能多也不能少。
{# 如果 a1 == a2 則顯示 #}
{% ifequal a1 a2 %}
<h1>equal!</h1>
{% else %}
<h1>not equal!</h1>
{% endifequal %}
{# 如果 a1 != a2 則顯示 #}
{% ifnotequal a1 a2 %}
<h1>not equal!</h1>
{% endifnotequal %}
{# 如果 a1 == 'word' 則顯示 #}
{% ifequal a1 'word' %}
<h1>a1=word</h1>
{% endifequal %}
{# 如果 a2 == 55.23 則顯示 #}
{% ifequal a2 55.23 %}
<h1>a2=55.23</h1>
{% endifequal %}
{# 如果 a3 == {{ a4 }} 則顯示 #}
{% ifequal a2 {{ a4 }} %}
<h1>a2={{ a4 }}</h1>
{% endifequal %}
注意結束使用endifequal或者endifnotequal。
可以使用 if 標簽的“==”比較來代替此標簽,如:
{% if a1 == 'a' %}
<h1>a1=a2</h1>
{% endif %}