django.contrib.humanize

    要激活这些过滤器,请在你的 配置中添加 'django.contrib.humanize'。添加完毕后,在模板中使用 {% load humanize %},你就可以使用以下过滤器了。

    对于数字 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
    • 45000 变成 '45.000'
    • 450000 变成 '450.000'

    将大整数(或整数的字符串表示)转换为友好的文本表示。将 1.0 翻译成单数,将所有其他数值翻译成复数,这对某些语言可能不正确。对于 100 万以上的数字效果最好。

    举例:

    • 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'

    Changed in Django 3.1:

    增加了对负整数的支持。

    naturalday

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

    例子(当 ‘today’ 是 2007 年 2 月 17 日):

    • 16 Feb 2007 变成 yesterday
    • 17 Feb 2007 变成 today
    • 18 Feb 2007 变成 tomorrow
    • 任何其他的日子都会根据给定的参数进行格式化,如果没有给定参数,则根据 DATE_FORMAT 配置。

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

    例子(当 ‘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
    • 变成 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 变成 。