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
。如果启动了Format localization,将会被遵循。例如,在德语('de'
)中:
45000
会变成 '45.000'
。450000
会变成 '450.000'
。intword
¶将大整数(或整数的字符串表示形式)转换为友好的文本表示形式。 适用于超过一百万的数字。
例如:
1000000
会变成 1.0 million
。1200000
会变成 1.2 million
。1200000000
会变成 1.2 billion
。支持高达10的100次方 (Googol) 的整数。
如果启动了Format localization,将会被遵循。例如,在德语('de'
)中:
1000000
会变成 '1,0 Million'
。1200000
会变成 '1,2 Million'
。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分0秒):
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
。2017年9月6日