时间:2017-03-30 18:57:30

标签: python django datetime

有没有办法从django timesince过滤器中删除尾随数据?

我想只显示几天,几个月或几年没有任何结尾信息。例如周+天 - >周,月+周 - >月,年+月 - >年等等。

此外,如果日期少于一天,则应显示小时数。例如1小时前,4小时前等等。

目前我有一个datetime对象,我正在使用这样的过滤器:

{{ my_date_time|timesince}}

1 个答案:

答案 0 :(得分:2)

您可以创建自己的模板标记,并使用它将timesince的输出修改为您喜欢的任何内容。这是一个让你入门的例子:

def custom_timesince(value):
    now = datetime.datetime.now()
    # can add some error checking if you want
    diff = now - value
    if diff < timedelta(days=1):
        return "recently" # or w/e you wanted with the hours

    # remove trailing information from timesince    
    return timesince(value).split(", ")[0]

可能有帮助:docs on using such custom tags