如何在Django模板中使用Humanize显示“ x天前”类型的时间?
发布于 2021-01-29 18:11:37
当我这样做时:
{% load humanize %}
{{ video.pub_date|naturaltime|capfirst }}
我懂了 2 days, 19 hours ago
我如何只花2天就没有上班时间。基本上,如果视频是在不到一天前发布的,那么它应该说X个小时前,然后应该像X天之前那样在几天之内算完,然后再数周。我只是不想1分钟5分钟前或2天13分钟前。只是第一部分。
我查看了人性化文档,但找不到所需的文档。
关注者
0
被浏览
47
1 个回答
-
Django有一个内置的模板过滤器
timesince
,可提供与上述相同的输出。以下过滤器仅去除逗号后的第二部分:from datetime import datetime, timedelta from django import template from django.utils.timesince import timesince register = template.Library() @register.filter def age(value): now = datetime.now() try: difference = now - value except: return value if difference <= timedelta(minutes=1): return 'just now' return '%(time)s ago' % {'time': timesince(value).split(', ')[0]}