如何在Django模板中将some_time | timeuntil与特定时间间隔进行比较?

时间:2019-01-09 12:03:02

标签: python django

我正在BBS上制作一个新标签。 (当文章是相对较新的文章时,标签会显示“这是新文章”。)

阅读Django Docs后,我知道|timeunitl返回从给定时间到现在的值。我想将此值与特定的时间间隔(例如两天或两小时)进行比较。所以我在下面累了

{% if article.created_at|timeuntil < 2 %}
    <span class = "label label-new">NEW</span>
{% endif %}

但是,无论如何更改右侧的值,我都看不到<span class = "label label-new">NEW</span>。如何比较该值?

我的Django版本是1.11.16,Python版本是3.6.7。

1 个答案:

答案 0 :(得分:1)

我认为最简单的方法是创建一个自定义过滤器以计算天/小时的差异:

def day_diff(a_date):
    today = int(datetime.now().strftime("%d"))
    return a_date.day - today

并在视图中将其用作:

{% if article.created_at|day_diff < 2 %}
    <span class = "label label-new">NEW</span>
{% endif %}