我有这个变量:
{{ video.pub_date }}
输出:
May 16, 2011, 2:03 p.m.
我怎样才能让它显示出来:
1 month ago
我已经在页面上加载了humanize,但用于人性化的django文档并没有真正展示如何实现它以显示我想要的内容:
https://docs.djangoproject.com/en/dev/ref/contrib/humanize/
它只是说在页面底部有可能。
答案 0 :(得分:22)
您必须拥有Django的开发版才能使用naturaltime filter
{% load humanize %}
{{ video.pub_date|naturaltime }}
Humanize不是模板标签,它是template filters的库,这意味着当您加载它时,您可以访问模块中包含的各种其他过滤器。
或者,您可以使用timesince filter而无需加载任何其他模板标记库
{{ video.pub_date|timesince }}
答案 1 :(得分:3)
{{ video.pub_date|timesince }} ago
的文档
timesince
将日期格式化为此后的时间 日期(例如,“4天,6小时”)。
采用可选参数a 包含要用作日期的变量 比较点(没有 论证,比较点是 现在)。例如,如果blog_date是 表示午夜的日期实例 2006年6月1日,comment_date是一个 6月1日08:00的日期实例 2006年,然后{{ blog_date | timesince:comment_date}} 将返回“8小时”。
比较偏移 - 天真和 偏移感知日期时间将返回 空字符串。
分钟是使用的最小单位,和 “0分钟”将被退回 相对于未来的日期 比较点。
答案 2 :(得分:1)
激活什么过滤器。将django.contrib.humanize添加到您的INSTALLED_APPS设置中,
完成后,
在模板中使用{% load humanize %}
,您将可以访问以下过滤器,
{{comment.timestamp |自然时间}}