django人性化设置 时间改为 多久前

xiaoxiao2025-04-26  5

转自 https://jackeygao.io/words/django-tips-02-humanize.html

翻译整理自: simpleisbetterthancomplex.com

官方文档

Django 附带一组模板过滤器, 可为您的数据添加人性化选项。它用于将数字或者日期转化为人类友好可读的格式. 就我个人来说, 我使用模板过滤器naturaltime非常频繁。 比如我在2018-10-25 11:33:24定了个外卖, 在等待外卖的过程中, 订单页面的时间显示为21 minutes ago(考虑到目前是2018-10-25 11:54:46) 更好友好一点, 我能清楚的知道我等待了多长时间。 而不是2018-10-25 11:54:46这样的时间, 让我再计算一遍.

使用方法也非常简单:

在settings.py INSTALLED_APPS 加入django.contrib.humanize

Python

INSTALLED_APPS = [ 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.humanize', ]

然后在 template 中, 载入此 APP 下的标签。

Django/Jinja {% load humanize %}

使用过滤器也非常简单, 比如使用naturaltime过滤器.

Django/Jinja {% extends 'base.html' %} {% load humanize %} {% block content %} <ul> {% for notification in notifications %} <li> {{ notification }} <small>{{ notification.date|naturaltime }}</small> </li> {% empty %} <li>You have no unread notification.</li> {% endfor %} </ul> {% endblock %}

功能表

过滤器作用举例apnumber英文数字1 => oneintcomma三位逗号数字4500000 => 4,500,000intword文本数字4500000 => 4.5 millionnaturalday友好的日期2018-10-24 => yesterdaynaturaltime友好的时间2018-10-25 12:00:01 => a minute ago.ordinal序数字符串3 => 3rd
转载请注明原文地址: https://www.6miu.com/read-5029173.html

最新回复(0)