我想将日期与Django中的当前日期进行比较,最好是在模板中进行比较,但是也可以在渲染模板之前进行比较。如果日期已经过去,我想说“过去”,而如果将来,我想说出日期。
我希望有人可以做这样的事情:
{% if listing.date <= now %} In the past {% else %} {{ listing.date|date:"d M Y" }} {% endif %}
现在是今天,但是这不起作用。我在Django文档中找不到有关此的任何内容。任何人都可以给点建议吗?
比较视图中的日期,然后将类似in_the_past(boolean)的值传递给extra_context。
in_the_past
或者最好将其作为属性添加到模型中。
from datetime import date @property def is_past_due(self): return date.today() > self.date
然后在模板中:
{% if listing.is_past_due %} In the past {% else %} {{ listing.date|date:"d M Y" }} {% endif %}
基本上,模板不是IMO进行日期比较的地方。