如何在Django模板中比较日期

我想将日期与Django中的当前日期进行比较,最好是在模板中进行比较,但是也可以在渲染模板之前进行比较。如果日期已经过去,我想说“过去”,而如果将来,我想说出日期。

我希望有人可以做这样的事情:

{% if listing.date <= now %} 

In the past

{% else %}

{{ listing.date|date:"d M Y" }}

{% endif %}

现在是今天,但是这不起作用。我在Django文档中找不到有关此的任何内容。任何人都可以给点建议吗?

回答:

比较视图中的日期,然后将类似in_the_past(boolean)的值传递给extra_context。

或者最好将其作为属性添加到模型中。

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进行日期比较的地方。

以上是 如何在Django模板中比较日期 的全部内容, 来源链接: utcz.com/qa/428381.html

回到顶部