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

将一个大整数(或整数的字符串表示形式)转换为友好的文本表示形式。将1.0翻译为单数短语,将所有其他数值翻译为复数,这对于某些语言来说可能是错误的。最适合 100 万以上的数字。

示例

  • 1000000 变成 1.0 million

  • 1200000 变成 1.2 million

  • 1200000000 变成 1.2 billion

  • -1200000000 变成 -1.2 billion

支持高达 10^100(古戈尔)的值。

格式本地化如果启用,将得到尊重,例如使用'de'语言

  • 1000000 变成 '1,0 Million'

  • 1200000 变成 '1,2 Millionen'

  • 1200000000 变成 '1,2 Milliarden'

  • -1200000000 变成 '-1,2 Milliarden'

naturalday

对于当天或一天内的日期,分别返回“今天”、“明天”或“昨天”。否则,使用传递的格式字符串格式化日期。

参数:date标签中所述的日期格式字符串。

示例(当“今天”是 2007 年 2 月 17 日时)

  • 16 Feb 2007 变成 yesterday

  • 17 Feb 2007 变成 today

  • 18 Feb 2007 变成 tomorrow

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

naturaltime

对于日期时间值,返回一个字符串,表示多少秒、分钟或小时前——如果值超过一天,则回退到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

您可以传入整数或整数的字符串表示形式。负整数保持不变。

返回顶部