goh*_*goh 6 django django-templates
这里有个问题.
我有以下内容
{% if form.tpl.yes_no_required == True %}
<!-- path 1 -->
{% else %}
{% if form.tpl.yes_no_required == False %}
<!-- path 2 -->
{% endif %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
form.tpl.yes_no_required的值为None,但我被路由到路径2.任何人都可以解释为什么会这样?编辑:如果值为none,我不希望它显示任何内容.
小智 14
你不能使用模板语言来测试你认为常量,解析器实际上测试2"文字".
解析器测试名称为"None"和"False"的2个文字.当解析器尝试在上下文中解析它们时,抛出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() })
Run Code Online (Sandbox Code Playgroud)
打印你不是你想的'
c = Context({'None':None})
t.render(c)
Run Code Online (Sandbox Code Playgroud)
打印你不是你想的'
c = Context({'None':None, 'False':False})
t.render(c)
Run Code Online (Sandbox Code Playgroud)
打印你''
| 归档时间: |
|
| 查看次数: |
37100 次 |
| 最近记录: |