django.contrib.humanize — Django 文档
来自菜鸟教程
Django/docs/2.2.x/ref/contrib/humanize
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
将大整数(或整数的字符串表示)转换为友好的文本表示。 最适合超过 100 万的数字。
实际案例
1000000变为1.0 million。1200000变为1.2 million。1200000000变为1.2 billion。
支持最高 10^100(Googol)的数值。
格式本地化如果启用,将被尊重,例如 使用 'de' 语言:
1000000变为'1,0 Million'。1200000变为'1,2 Millionen'。1200000000变为'1,2 Milliarden'。
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。
你可以传入一个整数或整数的字符串表示。