我不確定這是否真的很簡單,我只是在文檔中查看它,或者如果這是Django模板系統的限制,但我需要能夠做一點(不是很高級的)Django中的邏輯,我寧願不必重複自己。先進的Django模板邏輯
比方說,我有3個布爾值; A,B和C.
基本上,我需要做的事:
{% if A and (B or C) %}
{{ do stuff }}
{% endif %}
但是Django的似乎並沒有讓分組的(B or C)
邏輯用括號。有沒有辦法在Django的模板語言中進行這種分組?或做我需要做的是未乾版,這將是:
{% if A and B %}
{{ do stuff }}
{% else %}
{% if A and C %}
{{ do the same stuff }}
{% endif %}
{% endif %}
啊。我懂了。這比我寫的要乾淨得多,即使它不像使用圓括號那麼簡單,至少它幹得相當幹。謝謝! –
如何添加一個'else'分支而不復制它? –
@JoachimBreitner - 一種方法是否定條件,使用身份'〜(A&B)==〜A | 〜B'和'〜(A | B)==〜A&〜B'。所以'{如果不是A或不是B而不是C%} else分支在這裏{%else%} {{do stuff}} {%endif%}'。這將表達式轉換爲「not」,「和」和「or」運算符的非括號優先級賦予所需邏輯的表達式。 –