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 yourINSTALLED_APPS
setting. Once you’ve done that, use{% load humanize %}
in a template, and you’ll have access to the followingfilters.
apnumber
For numbers 1-9, returns the number spelled out. Otherwise, returns thenumber. 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 stringcontaining 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 afriendly text representation. Translates 1.0
as a singular phrase and allother numeric values as plural, this may be incorrect for some languages. Worksbest 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 Millionen'
.1200000000
becomes'1,2 Milliarden'
.Changed in Django 3.0:All numeric values are now translated as plural, except1.0
which istranslated as a singular phrase. This may be incorrect for some languages.
naturalday
For dates that are the current day or within one day, return “today”,“tomorrow” or “yesterday”, as appropriate. Otherwise, format the date usingthe 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 inthe 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.