django.contrib.humanize
A set of Django template filters useful for adding a “human touch” to data.
To activate these filters, add 'django.contrib.humanize'
to your INSTALLED_APPS
setting. Once you’ve done that, use {% load humanize %}
in a template, and you’ll have access to the following filters.
apnumber
For numbers 1-9, returns the number spelled out. Otherwise, returns the number. This follows Associated Press style.
Examples:
-
1
becomesone
. -
2
becomestwo
. -
10
becomes10
.
You can pass in either an integer or a string representation of an integer.
intcomma
Converts an integer or float (or a string representation of either) to a string containing commas every three digits.
Examples:
-
4500
becomes4,500
. -
4500.2
becomes4,500.2
. -
45000
becomes45,000
. -
450000
becomes450,000
. -
4500000
becomes4,500,000
.
Format localization will be respected if enabled, e.g. with the 'de'
language:
-
45000
becomes'45.000'
. -
450000
becomes'450.000'
.
intword
Converts a large integer (or a string representation of an integer) to a friendly text representation. Works best for numbers over 1 million.
Examples:
-
1000000
becomes1.0 million
. -
1200000
becomes1.2 million
. -
1200000000
becomes1.2 billion
.
Values up to 10^100 (Googol) are supported.
Format localization will be respected if enabled, e.g. with the 'de'
language:
-
1000000
becomes'1,0 Million'
. -
1200000
becomes'1,2 Million'
. -
1200000000
becomes'1,2 Milliarden'
.
naturalday
For dates that are the current day or within one day, return “today”, “tomorrow” or “yesterday”, as appropriate. Otherwise, format the date using the passed in format string.
Argument: Date formatting string as described in the date
tag.
Examples (when ‘today’ is 17 Feb 2007):
-
16 Feb 2007
becomesyesterday
. -
17 Feb 2007
becomestoday
. -
18 Feb 2007
becomestomorrow
. - Any other day is formatted according to given argument or the
DATE_FORMAT
setting if no argument is given.
naturaltime
For datetime values, returns a string representing how many seconds, minutes or hours ago it was – falling back to the timesince
format if the value is more than a day old. In case the datetime value is in the future the return value will automatically use an appropriate phrase.
Examples (when ‘now’ is 17 Feb 2007 16:30:00):
-
17 Feb 2007 16:30:00
becomesnow
. -
17 Feb 2007 16:29:31
becomes29 seconds ago
. -
17 Feb 2007 16:29:00
becomesa minute ago
. -
17 Feb 2007 16:25:35
becomes4 minutes ago
. -
17 Feb 2007 15:30:29
becomes59 minutes ago
. -
17 Feb 2007 15:30:01
becomes59 minutes ago
. -
17 Feb 2007 15:30:00
becomesan hour ago
. -
17 Feb 2007 13:31:29
becomes2 hours ago
. -
16 Feb 2007 13:31:29
becomes1 day, 2 hours ago
. -
16 Feb 2007 13:30:01
becomes1 day, 2 hours ago
. -
16 Feb 2007 13:30:00
becomes1 day, 3 hours ago
. -
17 Feb 2007 16:30:30
becomes30 seconds from now
. -
17 Feb 2007 16:30:29
becomes29 seconds from now
. -
17 Feb 2007 16:31:00
becomesa minute from now
. -
17 Feb 2007 16:34:35
becomes4 minutes from now
. -
17 Feb 2007 17:30:29
becomesan hour from now
. -
17 Feb 2007 18:31:29
becomes2 hours from now
. -
18 Feb 2007 16:31:29
becomes1 day from now
. -
26 Feb 2007 18:31:29
becomes1 week, 2 days from now
.
ordinal
Converts an integer to its ordinal as a string.
Examples:
-
1
becomes1st
. -
2
becomes2nd
. -
3
becomes3rd
.
You can pass in either an integer or a string representation of an integer.
© Django Software Foundation and individual contributors
Licensed under the BSD License.
https://docs.djangoproject.com/en/2.0/ref/contrib/humanize/