如果其他不起作用(Django中的比较操作员)



我正在使用django 1.11,我正在尝试使用django templating在html文件中进行 if .. else ..语句。

常规if .. else ..语句在Django模板中起作用,我遇到的唯一问题是使用比较操作员(<=, <, >, >=)。

我已经重新阅读了Django 1.11的文档,并且似乎在此版本中得到了支持。

代码(查看/数据库):

a = 25.2 # passed from view to database

html模板

{% if data.a < 30 %}
    <p>correct</p>
{% else %}
    <p>incorrect</p>
{% endif %}

本身data.a工作正常,如果我只使用{{ data.a }},则它将正确显示25.2,但是如果我运行上述代码,则始终显示else语句。

有什么建议?

如果您真的想在模板中执行这些操作,则只需将变量转换为字符串即可:

{% if "29.3" < "29.2" %}
   <p>correct</p>
{% else %}
   <p>incorrect</p>
{% endif %}

不正确

{% if "29.1" < "29.2" %}
   <p>correct</p>
{% else %}
   <p>incorrect</p>
{% endif %}

正确

您可以使用StringFormat Filter将所有内容放在一起。Goodluck,

最新更新