123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 |
- ===========================
- ``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 or float (or a string representation of either) to a string
- containing commas every three digits.
- Examples:
- * ``4500`` becomes ``4,500``.
- * ``4500.2`` becomes ``4,500.2``.
- * ``45000`` becomes ``45,000``.
- * ``450000`` becomes ``450,000``.
- * ``4500000`` becomes ``4,500,000``.
- :doc:`/topics/i18n/formatting` will be respected if enabled,
- e.g. with the ``'de'`` language:
- * ``45000`` becomes ``'45.000'``.
- * ``450000`` becomes ``'450.000'``.
- .. templatefilter:: intword
- ``intword``
- ===========
- Converts a large integer (or a string representation of an integer) to a
- friendly text representation. Translates ``1.0`` as a singular phrase and all
- other numeric values as plural, this may be incorrect for some languages. Works
- best for numbers over 1 million.
- Examples:
- * ``1000000`` becomes ``1.0 million``.
- * ``1200000`` becomes ``1.2 million``.
- * ``1200000000`` becomes ``1.2 billion``.
- * ``-1200000000`` becomes ``-1.2 billion``.
- Values up to 10^100 (Googol) are supported.
- :doc:`/topics/i18n/formatting` 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'``.
- * ``-1200000000`` becomes ``'-1,2 Milliarden'``.
- .. 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``
- ===============
- For datetime values, returns a string representing how many seconds,
- minutes or hours ago it was -- falling back to the :tfilter:`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`` 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 ``59 minutes ago``.
- * ``17 Feb 2007 15:30:01`` becomes ``59 minutes ago``.
- * ``17 Feb 2007 15:30:00`` becomes ``an hour ago``.
- * ``17 Feb 2007 13:31:29`` becomes ``2 hours ago``.
- * ``16 Feb 2007 13:31:29`` becomes ``1 day, 2 hours ago``.
- * ``16 Feb 2007 13:30:01`` becomes ``1 day, 2 hours ago``.
- * ``16 Feb 2007 13:30:00`` becomes ``1 day, 3 hours ago``.
- * ``17 Feb 2007 16:30:30`` becomes ``30 seconds from now``.
- * ``17 Feb 2007 16:30:29`` becomes ``29 seconds from now``.
- * ``17 Feb 2007 16:31:00`` becomes ``a minute from now``.
- * ``17 Feb 2007 16:34:35`` becomes ``4 minutes from now``.
- * ``17 Feb 2007 17:30:29`` becomes ``an hour from now``.
- * ``17 Feb 2007 18:31:29`` becomes ``2 hours from now``.
- * ``18 Feb 2007 16:31:29`` becomes ``1 day from now``.
- * ``26 Feb 2007 18:31:29`` becomes ``1 week, 2 days from now``.
- .. 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.
- Negative integers are returned unchanged.
|