那麼,我想出什麼jeje ....如何評估模板中的{%if%}變量?Django,{%if%}標記評估
我嘗試這個
{% if variable > 0 %} or {% if variable != 0 %}
但...我得到的錯誤:(
感謝
那麼,我想出什麼jeje ....如何評估模板中的{%if%}變量?Django,{%if%}標記評估
我嘗試這個
{% if variable > 0 %} or {% if variable != 0 %}
但...我得到的錯誤:(
感謝
退房Django的智能,如果模板標籤http://simonwillison.net/2009/Mar/3/smartif/ http://www.djangosnippets.org/snippets/1350/
它取代了內置的,如果標籤,讓你做對比運營商。
您應該使用
{% ifnotequal...
{% ifequal...
等:)
這裏全是:http://docs.djangoproject.com/en/dev/topics/templates/#topics-templates
您剛剛指出模板概述,完整標記和過濾器列表位於以下位置:http://docs.djangoproject.com/en/dev/ref/templates/builtins/ #ref-templates-builtins-tags – 2009-08-13 18:24:45
問題是,如果我想要這個:{%ifnotequal變量0%},但如果變量是-1,那麼是「真」,我不希望負值將是「真」。 與同爲{%ifequal%} – Asinox 2009-08-13 18:33:45
每次遇到小問題時,您都應該閱讀Django出色的文檔,而不是在每次遇到小問題時不斷髮帖。特別是,模板文檔有一個非常好的解釋,爲什麼你所嘗試的是不允許的。
在這種情況下,您可以從Python 0與False相同的事實中受益。所以,你可以有
{% if variable %}
或
{% if not variable %}
否則,使用{% ifequal %}
和{% ifnotequal %}
爲MaRiz解釋。
「輕微」是一個意見問題。相信世界上沒有人比你更有經驗。這都是相對的。 Joel Spolsky特別指出,他對這個網站的設想是回答所有問題,甚至是最看似微不足道的問題。現在已經提出這個問題意味着它可能不需要再次提問。你可能花了那段時間,你曾經在開始回答時抱怨,而是使用編輯權限來改善他的問題。 – 2009-08-13 18:34:47
我認爲Joel Spolsky不同意你的觀點,即「不要發佈問題,如果過於簡單,請閱讀文檔」。 – 2009-08-13 18:36:44
即時通訊對不起,我認爲我做的第一件事就是閱讀文檔,不管是否相信,但是在文檔中{%if%}中沒有關於運算符的任何內容,我不知道如果我錯了。 誰說我的例子-1是真的?我需要0或> 0,但如果我從數據庫中提取值,如果值爲-1,那麼{%if variable%}爲真。 對不起。 – Asinox 2009-08-13 18:50:41
你用的是什麼django? 1.2及以上的有智能,如果 https://docs.djangoproject.com/en/dev/releases/1.2/
現在你可以這樣做:
{% if a != b || c != d %}
...
{% endif %}
Django的模板系統是專門爲鼓勵儘可能少的邏輯可能是在模板中,這就是爲什麼在第一標籤系統似乎有限。這個想法是將你的想法轉換到更多的MVC狀態,在這個狀態下你的數據已經準備好,然後到達你的模板。 – 2009-08-13 18:27:07
jinja模板引擎允許此功能在django中正常工作 – Evgeny 2009-10-22 21:57:41