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(googol)的值。

格式本地化 如果启用,将受到尊重,例如 '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

对于datetime值,返回一个表示秒、分钟或小时前的字符串--返回到 timesince 如果值超过一天,则设置格式。如果datetime值在将来,返回值将自动使用适当的短语。

示例(当“现在”为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 .

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