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 百万
  • 1200000 变成 1.2 百万
  • 1200000000 变成 1.2 十亿
  • -1200000000 变成 -1.2 十亿

支持高达 10^100(googol)的值。

如果启用,将遵循格式本地化,例如使用 'de' 语言

  • 1000000 变成 '1,0 百万'
  • 1200000 变成 '1,2 百万'
  • 1200000000 变成 '1,2 十亿'
  • -1200000000 变成 '-1,2 十亿'

naturalday

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

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

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

  • 2007 2 16 变成 昨天
  • 2007 2 17 变成 今天
  • 2007 2 18 变成 明天
  • 任何其他日期都根据给定的参数或 DATE_FORMAT 设置(如果没有给出参数)进行格式化。

naturaltime

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

示例(当“现在”是 2007 年 2 月 17 日 16:30:00 时)

  • 2007 2 17 16:30:00 变成 现在
  • 2007 2 17 16:29:31 变成 29 秒前
  • 2007 2 17 16:29:00 变成 一分钟前
  • 2007 2 17 16:25:35 变成 4 分钟前
  • 2007 2 17 15:30:29 变成 59 分钟前
  • 2007 2 17 15:30:01 变成 59 分钟前
  • 2007 2 17 15:30:00 变成 一小时前
  • 2007 2 17 13:31:29 变成 2 小时前
  • 2007 2 16 13:31:29 变成 1 2 小时前
  • 2007 2 16 13:30:01 变成 1 2 小时前
  • 2007 2 16 13:30:00 变成 1 3 小时前
  • 2007 2 17 16:30:30 变成 30 秒后
  • 2007 2 17 16:30:29 变成 29 秒后
  • 2007 2 17 16:31:00 变成 一分钟后
  • 2007 2 17 16:34:35 变成 4 分钟后
  • 2007 2 17 17:30:29 变成 一小时后
  • 2007 2 17 18:31:29 变成 2 小时后
  • 2007 2 18 16:31:29 变成 1 天后
  • 2007 2 26 18:31:29 变成 1 2 天后

ordinal

将整数转换为其序数形式的字符串。

示例

  • 1 变成 1st
  • 2 变成 2nd
  • 3 变成 3rd

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

返回顶部