django模板中的布尔比较

mas*_*iny 9 django

我的Django模型中有一个布尔字段

reminder = models.BooleanField()
Run Code Online (Sandbox Code Playgroud)

现在我想在某些条件下比较我的django模板中的这个字段.

我这样做

{% if x.reminder == 'True' %}
Run Code Online (Sandbox Code Playgroud)

但不幸的是,上面的代码没有给我预期的结果.我想删除所有reminder = False 请帮助我,我可能在这里做错了什么.

谢谢

dm0*_*514 11

您正在比较x.reminder一个名为的字符串'True',而不是True常量

{% if x.reminder %}
Run Code Online (Sandbox Code Playgroud)

要么

{% if x.reminder == True %}
Run Code Online (Sandbox Code Playgroud)


Pav*_*sov 5

只要用这个:

{% if x.reminder %}
Run Code Online (Sandbox Code Playgroud)

这个(没有引号)从django 1.5起作用,但它是多余的.

{% if x.reminder == True %}
Run Code Online (Sandbox Code Playgroud)

 

https://docs.djangoproject.com/en/dev/releases/1.5/#minor-features

模板引擎现在将True,False和None解释为相应的Python对象.