0
{{ is_true }}

{% if is_true == "True" %}
    <h2>Say True</h2>
{% else %}
    <h2> False </h2>
{% endif %}

但是,else即使{{ is_true }}返回 True ,它也会进入子句

任何的想法?

def some_func():
   if ....:
     return True
   else:
     return False
4

1 回答 1

4

您不需要"True"在模板中使用:

{% if is_true == True %}

要不就:

{% if is_true %}

如果您"True"在模板中使用,那么您将布尔值True与字符串 "True"(不相同)进行比较,并最终出现在else模板的子句中。换句话说,你会做:

{% if True == "True" %}
    <h2>Say True</h2>
{% else %}                     # You will end up here
    <h2> False </h2>
{% endif %}

您可以在文档中找到有关 Django 模板语言的更多信息

于 2012-06-26T20:34:56.703 回答