Django模板字符串比较失败

时间:2012-06-26 20:31:49

标签: python django django-templates

{{ is_true }}

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

但是,即使else返回True

,也会转到{{ is_true }}子句

有什么想法吗?

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

1 个答案:

答案 0 :(得分: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 %}

您可以在documentation

中找到有关Django模板语言的更多信息