django模板(如果条件)

| 在这里有一个问题。 我有以下
{% 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 和无==无。
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)
打印u \'\'     
无!=假无!=还真... 对任何项目都不要做这样的事情
{% if form.tpl.yes_no_required  %}
             <!-- path 1 -->
{% else %}
    {% if not form.tpl.yes_no_required %}

        <!-- path 2 -->
    {% endif %} 
{% endif %}
    

要回复问题请先登录注册