2024-05-19 07:41:42 发布
网友
当我这样做时:
{% load humanize %} {{ video.pub_date|naturaltime|capfirst }}
我得到2 days, 19 hours ago
2 days, 19 hours ago
我怎么能只有两天没有时间。基本上,如果视频是在不到一天之前发布的,那么它应该是X小时之前,然后应该是X天之前,然后是几周之前。我只是不想1小时5分钟前或2天13分钟前。只是第一部分。
我看了人性化的医生,但找不到我需要的东西。
您应该将django.contrib.humanize.templatetags.humanize.py复制到myapp.templatetags.myhumanize并根据需要进行修改。(我找不到返回“x days,y hours ago”的实际行。你在使用哪一个版本的django/humanize?)
现代django中有naturaltime。https://docs.djangoproject.com/en/2.2/ref/contrib/humanize/#naturaltime
naturaltime
Django有a built-in template filtertimesince,它提供与您前面提到的相同的输出。下面的过滤器只是去掉逗号后面的第二部分:
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]}
您应该将django.contrib.humanize.templatetags.humanize.py复制到myapp.templatetags.myhumanize并根据需要进行修改。(我找不到返回“x days,y hours ago”的实际行。你在使用哪一个版本的django/humanize?)
现代django中有
naturaltime
。https://docs.djangoproject.com/en/2.2/ref/contrib/humanize/#naturaltimeDjango有a built-in template filter
timesince
,它提供与您前面提到的相同的输出。下面的过滤器只是去掉逗号后面的第二部分:相关问题 更多 >
编程相关推荐