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

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

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

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

{{ my_date_time|timesince}}

最佳答案

您可以制作自己的模板标记,并使用它来将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

关于python - 从Django时间删除尾随数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43126257/

10-13 09:14