django.contrib.humanize — Django 文档
django.contrib.humanize
一组 Django 模板过滤器,可用于向数据添加“人性化”。
要激活这些过滤器,请将 'django.contrib.humanize'
添加到您的 :setting:`INSTALLED_APPS` 设置。 完成后,在模板中使用 {% load humanize %}
,您将可以访问以下过滤器。
apnumber
对于数字 1-9,返回拼写的数字。 否则,返回数字。 这遵循美联社的风格。
例子:
1
变为one
。2
变为two
。10
变为10
。
您可以传入整数或整数的字符串表示形式。
intcomma
将整数或浮点数(或两者的字符串表示形式)转换为每三位包含逗号的字符串。
例子:
4500
变为4,500
。4500.2
变为4,500.2
。45000
变为45,000
。450000
变为450,000
。4500000
变为4,500,000
。
格式本地化如果启用,将被尊重,例如 使用 'de'
语言:
45000
变为'45.000'
。450000
变为'450.000'
。
intword
将大整数(或整数的字符串表示)转换为友好的文本表示。 将 1.0
翻译为单数短语,将所有其他数值翻译为复数,这对于某些语言可能不正确。 最适合超过 100 万的数字。
例子:
1000000
变为1.0 million
。1200000
变为1.2 million
。1200000000
变为1.2 billion
。-1200000000
变为-1.2 billion
。
支持高达 10^100 (Googol) 的值。
格式本地化如果启用,将被尊重,例如 使用 'de'
语言:
1000000
变为'1,0 Million'
。1200000
变为'1,2 Millionen'
。1200000000
变为'1,2 Milliarden'
。-1200000000
变为'-1,2 Milliarden'
。
3.1 版更改: 添加了对负整数的支持。
naturalday
对于当天或一天内的日期,根据需要返回“今天”、“明天”或“昨天”。 否则,使用传入的格式字符串格式化日期。
Argument: 日期格式字符串,如 :tfilter:`date` 标签中所述。
示例(当“今天”是 2007 年 2 月 17 日时):
16 Feb 2007
变为yesterday
。17 Feb 2007
变为today
。18 Feb 2007
变为tomorrow
。- 任何其他日期都根据给定的参数或 :setting:`DATE_FORMAT` 设置(如果没有给出参数)进行格式化。
naturaltime
对于日期时间值,返回一个字符串,表示它之前的秒数、分钟数或小时数 - 如果值超过一天,则回退到 :tfilter:`timesince` 格式。 如果日期时间值在未来,返回值将自动使用适当的短语。
示例(当“现在”是 2007 年 2 月 17 日 16:30:00 时):
17 Feb 2007 16:30:00
变为now
。17 Feb 2007 16:29:31
变为29 seconds ago
。17 Feb 2007 16:29:00
变为a minute ago
。17 Feb 2007 16:25:35
变为4 minutes ago
。17 Feb 2007 15:30:29
变为59 minutes ago
。17 Feb 2007 15:30:01
变为59 minutes ago
。17 Feb 2007 15:30:00
变为an hour ago
。17 Feb 2007 13:31:29
变为2 hours ago
。16 Feb 2007 13:31:29
变为1 day, 2 hours ago
。16 Feb 2007 13:30:01
变为1 day, 2 hours ago
。16 Feb 2007 13:30:00
变为1 day, 3 hours ago
。17 Feb 2007 16:30:30
变为30 seconds from now
。17 Feb 2007 16:30:29
变为29 seconds from now
。17 Feb 2007 16:31:00
变为a minute from now
。17 Feb 2007 16:34:35
变为4 minutes from now
。17 Feb 2007 17:30:29
变为an hour from now
。17 Feb 2007 18:31:29
变为2 hours from now
。18 Feb 2007 16:31:29
变为1 day from now
。26 Feb 2007 18:31:29
变为1 week, 2 days from now
。
ordinal
将整数转换为其序数作为字符串。
例子:
1
变为1st
。2
变为2nd
。3
变为3rd
。
您可以传入整数或整数的字符串表示形式。