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
。
您可以传入整数或整数的字符串表示形式。负整数保持不变。