django1/docs/ref/contrib/humanize.txt

124 lines
3.4 KiB
Plaintext

========================
django.contrib.humanize
========================
.. module:: django.contrib.humanize
:synopsis: A set of Django template filters useful for adding a "human
touch" to data.
A set of Django template filters useful for adding a "human touch" to data.
To activate these filters, add ``'django.contrib.humanize'`` to your
:setting:`INSTALLED_APPS` setting. Once you've done that, use
``{% load humanize %}`` in a template, and you'll have access to the following
filters.
.. templatefilter:: apnumber
apnumber
--------
For numbers 1-9, returns the number spelled out. Otherwise, returns the
number. This follows Associated Press style.
Examples:
* ``1`` becomes ``one``.
* ``2`` becomes ``two``.
* ``10`` becomes ``10``.
You can pass in either an integer or a string representation of an integer.
.. templatefilter:: intcomma
intcomma
--------
Converts an integer to a string containing commas every three digits.
Examples:
* ``4500`` becomes ``4,500``.
* ``45000`` becomes ``45,000``.
* ``450000`` becomes ``450,000``.
* ``4500000`` becomes ``4,500,000``.
You can pass in either an integer or a string representation of an integer.
.. templatefilter:: intword
intword
-------
Converts a large integer to a friendly text representation. Works best for
numbers over 1 million.
Examples:
* ``1000000`` becomes ``1.0 million``.
* ``1200000`` becomes ``1.2 million``.
* ``1200000000`` becomes ``1.2 billion``.
Values up to 1000000000000000 (one quadrillion) are supported.
You can pass in either an integer or a string representation of an integer.
.. templatefilter:: naturalday
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 :tfilter:`date` tag.
Examples (when 'today' is 17 Feb 2007):
* ``16 Feb 2007`` becomes ``yesterday``.
* ``17 Feb 2007`` becomes ``today``.
* ``18 Feb 2007`` becomes ``tomorrow``.
* Any other day is formatted according to given argument or the
:setting:`DATE_FORMAT` setting if no argument is given.
.. templatefilter:: naturaltime
naturaltime
-----------
.. versionadded:: 1.4
For date and time values shows how many seconds, minutes or hours ago compared
to current timestamp returns representing string. Otherwise, it behaves like
:tfilter:`naturaldate`, so it can also take string argument for date formating.
**Argument:** Date formatting string as described in the :tfilter:`date` tag.
Examples (when 'now' is 17 Feb 2007 16:30:00):
* ``17 Feb 2007 16:30:00`` becomes ``now``.
* ``17 Feb 2007 16:29:31`` becomes ``29 seconds ago``.
* ``17 Feb 2007 16:29:00`` becomes ``a minute ago``.
* ``17 Feb 2007 16:25:35`` becomes ``4 minutes ago``.
* ``17 Feb 2007 15:30:29`` becomes ``an hours ago``.
* ``17 Feb 2007 13:31:29`` becomes ``2 hours ago``.
* ``16 Feb 2007 13:31:29`` becomes ``yesterday``.
* Any other day is formatted according to given argument or the
:setting:`DATE_FORMAT` setting if no argument is given.
.. templatefilter:: ordinal
ordinal
-------
Converts an integer to its ordinal as a string.
Examples:
* ``1`` becomes ``1st``.
* ``2`` becomes ``2nd``.
* ``3`` becomes ``3rd``.
You can pass in either an integer or a string representation of an integer.