首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Humanize在Django中显示“这是几个月前的事”?

如何使用Humanize在Django中显示“这是几个月前的事”?
EN

Stack Overflow用户
提问于 2011-06-17 02:20:13
回答 3查看 10.3K关注 0票数 15

我有这个变量:

代码语言:javascript
复制
{{ video.pub_date }}

以下哪项输出:

代码语言:javascript
复制
May 16, 2011, 2:03 p.m.

我怎样才能让它显示:

代码语言:javascript
复制
1 month ago

我已经在页面上加载了humanize,但是humanize的django文档并没有真正展示如何实现它来显示我想要的:

https://docs.djangoproject.com/en/dev/ref/contrib/humanize/

它只是说在页面的底部是可能的。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-17 02:25:12

您必须拥有Django的开发版本才能使用 filter

代码语言:javascript
复制
{% load humanize %}
{{ video.pub_date|naturaltime }}

Humanize不是一个模板标签,它是一个template filters库,这意味着当你加载它时,你可以访问模块中包含的各种其他过滤器。

或者,您可以使用 filter,而不必加载任何其他模板标记库

代码语言:javascript
复制
{{ video.pub_date|timesince }}
票数 28
EN

Stack Overflow用户

发布于 2011-06-17 02:46:17

代码语言:javascript
复制
{{ video.pub_date|timesince }} ago

来自timesince的文档

时间范围

将日期格式化为自该日期以来的时间(例如,"4天6小时“)。

接受一个可选参数,该参数是一个包含要用作比较点的日期的变量(没有此参数,现在就是比较点)。例如,如果blog_date是表示2006年6月1日午夜的date实例,而comment_date是表示2006年6月1日08:00的date实例,则{{ blog_date|timesince:comment_date }}将返回"8小时“。

比较偏移量朴素和偏移量感知的日期时间将返回一个空字符串。

分钟是使用的最小单位,对于将来相对于比较点的任何日期,都将返回"0分钟“。

票数 6
EN

Stack Overflow用户

发布于 2020-08-29 11:31:10

激活什么过滤器。将'django.contrib.humanize‘添加到您的INSTALLED_APPS设置,

一旦你这样做了,

在模板中使用{% load humanize %},您将可以访问以下过滤器,

{{comment.timestamp |自然时间}}

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6376671

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档