如果不工作(Django中的比较运算符)

时间:2017-09-06 23:57:23

标签: python html django django-templates

我正在使用Django 1.11,我正在尝试使用Django模板在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语句是总是显示。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

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

{% 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过滤器将所有内容放在一起。古德勒克,