Skip to main content

django.contrib.humanize

一组Django模板过滤器,用于向数据添加“人性化”。

要激活这些过滤器,请将 'django.contrib.humanize' 添加到 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 Million'

  • 1200000000 变为 '1,2 Milliarden'

naturalday

对于当前日期或在一天内的日期,视情况返回“今天”,“明天”或“昨天”。否则,使用传入的格式字符串格式化日期。

论据: date 标记中描述的日期格式字符串。

示例(“今天”为2007年2月17日):

  • 16 Feb 2007 变为 yesterday

  • 17 Feb 2007 变为 today

  • 18 Feb 2007 变为 tomorrow

  • 任何其他日期根据给定的参数或 DATE_FORMAT 设置(如果没有给出参数)进行格式化。

naturaltime

对于datetime值,返回一个字符串表示它是多少秒,分钟或小时前 - 如果该值大于一天旧,则返回到 timesince 格式。如果日期时间值在将来,则返回值将自动使用适当的短语。

示例(“now”是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

您可以传入整数的整数或字符串表示形式。