Django创建模板过滤器以获得美好时光

Fre*_*ins 6 python django django-template-filters

我知道有timesince过滤器.

但是我想要一些能够回归的东西:

  • 就在几秒钟前
  • X分钟前
  • X小时前
  • 在$ day_name上
  • X周前
  • X个月前

例子:

  • 就在几秒钟前
  • 37分钟前
  • 2小时前
  • 昨天
  • 星期四
  • 1周前
  • 7个月前

我该如何实现这样的东西?

Tim*_*ony 14

不知道它是否勾选了你的所有方框,但是django.contrib.humanize模板标签中有一个标签自然时间应该这样做:

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

settings.py

INSTALLED_APPS = {
    ...
    'django.contrib.humanize',
}
Run Code Online (Sandbox Code Playgroud)

template.html

{% load humanize %}
{{ model.timefield|naturaltime }}
Run Code Online (Sandbox Code Playgroud)