[英]django template if condition
在這里有一個問題。
我有以下
{% if form.tpl.yes_no_required == True %}
<!-- path 1 -->
{% else %}
{% if form.tpl.yes_no_required == False %}
<!-- path 2 -->
{% endif %}
{% endif %}
form.tpl.yes_no_required的值為None,但是我被路由到路徑2。請問有人可以解釋為什么會這樣嗎? 編輯:如果該值是無,我不希望它顯示任何內容。
您不能使用模板語言來測試您認為是常量的東西,解析器實際上正在測試2個“文字”。
解析器測試兩個名稱為“ None”和“ False”的文字。 當解析器嘗試在上下文中解析這些變量時,將拋出VariableDoesNotExist異常,並且兩個對象都解析為python值None和None == None。
from django.template import Context, Template
t = Template("{% if None == False %} not what you think {% endif %}")
c = Context({"foo": foo() })
打印你不是你的想法
c = Context({'None':None})
t.render(c)
打印你不是你的想法
c = Context({'None':None, 'False':False})
t.render(c)
打印你
None!= False None!= True也...對所有項目都做類似這樣的事情
{% if form.tpl.yes_no_required %}
<!-- path 1 -->
{% else %}
{% if not form.tpl.yes_no_required %}
<!-- path 2 -->
{% endif %}
{% endif %}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.