使用日期的Django模板条件语句

时间:2017-08-08 23:42:57

标签: python django

我试图检查我的Django模板,看看' date_added'特定职位的字段在过去三天内。

我正在尝试这样的事情:

{% for deal in deals %}

{% if deal.date_added > (timezone.now ()- timezone.timedelta(days=4)) %}
    <h1>HOT</h1>

{% else %}
      do some other stuff
{% endif %}

{% endfor %}

我收到此错误:无法解析余数:&#39;(timezone.now&#39;来自&#39;(timezone.now&#39;

所以有些东西深深地告诉我,这绝对不可能在模板中运行这种条件语句---但是我想检查一下。谢谢。

1 个答案:

答案 0 :(得分:4)

class Deal(models.Model):
    ...
    def get_label(self):
        if self.date > datetime.date.today() - datetime.timedelta(days=4):
           return "<h1>HOT</h1>" 
        else:
           return "OLD..."

...然后在你的模板中

{% for deal in deals %}
    {{ deal.get_label | safe }}
{% endfor %}