Django模板系統壓根兒就沒想過實現一個全功能的編程語言,所以它不允許我們在模板中執行Python的語句(還是那句話,要了解更多請參看理念和限制小節)。 但是比較兩個變量的值并且顯示一些結果實在是個太常見的需求了,所以Django提供了 {% ifequal %} 標簽供我們使用。
{% ifequal %} 標簽比較兩個值,當他們相等時,顯示在 {% ifequal %} 和 {% endifequal %} 之中所有的值。
下面的例子比較兩個模板變量 user 和 currentuser :
{% ifequal user currentuser %} <h1>Welcome!</h1>{% endifequal %}參數可以是硬編碼的字符串,隨便用單引號或者雙引號引起來,所以下列代碼都是正確的:
{% ifequal section 'sitenews' %} <h1>Site News</h1>{% endifequal %}{% ifequal section "community" %} <h1>Community</h1>{% endifequal %}和 {% if %} 類似, {% ifequal %} 支持可選的 {% else%} 標簽:
{% ifequal section 'sitenews' %} <h1>Site News</h1>{% else %} <h1>No News Here</h1>{% endifequal %}只有模板變量,字符串,整數和小數可以作為 {% ifequal %} 標簽的參數。下面是合法參數的例子:
{% ifequal variable 1 %}{% ifequal variable 1.23 %}{% ifequal variable 'foo' %}{% ifequal variable "foo" %}其他任何類型,例如Python的字典類型、列表類型、布爾類型,不能用在 {% ifequal %} 中。 下面是些錯誤的例子:
{% ifequal variable True %}{% ifequal variable [1, 2, 3] %}{% ifequal variable {'key': 'value'} %}如果你需要判斷變量是真還是假,請使用 {% if %} 來替代 {% ifequal %} 。
新聞熱點
疑難解答
圖片精選