当我这样做时:
{% load humanize %}
{{ video.pub_date|naturaltime|capfirst }}
我得到 2 天 19 小时前
没有工作时间,我怎么能得到 2 天的工作时间。基本上,如果视频是在不到一天前发布的,那么它应该说 X 小时前,然后它应该以天数计算,例如 X 天前,然后以周为单位。我只是不想要 1 小时 5 分钟前或 2 天 13 分钟前。只是第一部分。
我查看了人性化文档,但找不到我需要的内容。
最佳答案
Django 有 a built-in template filter 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]}
关于python - 如何在 Django 模板中使用 Humanize 显示 "x days ago"类型时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6494921/