diff --git a/AUTHORS b/AUTHORS index 8f9147be57..6c9a7d40db 100644 --- a/AUTHORS +++ b/AUTHORS @@ -43,6 +43,7 @@ answer newbie questions, and generally made Django that much better: alang@bright-green.com Marty Alchin + atlithorn Daniel Alves Barbosa de Oliveira Vaz AgarFu Dagur Páll Ammendrup @@ -347,6 +348,7 @@ answer newbie questions, and generally made Django that much better: tstromberg@google.com Makoto Tsuyuki tt@gurgle.no + David Tulig Amit Upadhyay Geert Vanderkelen I.S. van Oostveen diff --git a/docs/templates.txt b/docs/templates.txt index d473a6f06f..471f44cfbf 100644 --- a/docs/templates.txt +++ b/docs/templates.txt @@ -1224,6 +1224,12 @@ add Adds the arg to the value. +For example:: + + {{ value|add:2 }} + +If ``value`` is 4, then the output will be 6. + addslashes ~~~~~~~~~~ @@ -1247,38 +1253,90 @@ cut Removes all values of arg from the given string. +For example:: + + {{ value|cut:" "}} + +If ``value`` is "String with spaces", the output will be ``Stringwithspaces``. + date ~~~~ Formats a date according to the given format (same as the `now`_ tag). +For example:: + + {{ value|date:"D d M Y" }} + +If ``value`` is a datetime object (ie. datetime.datetime.now()), the output +would be formatted like ``Wed 09 Jan 2008``. + default ~~~~~~~ If value is unavailable, use given default. +For example:: + + {{ value|default:"nothing" }} + +If ``value`` is ``Undefined``, the output would be ``nothing``. + default_if_none ~~~~~~~~~~~~~~~ If value is ``None``, use given default. +For example:: + + {{ value|default_if_none:"nothing" }} + +If ``value`` is ``None``, the output would be ``nothing``. + dictsort ~~~~~~~~ Takes a list of dictionaries, returns that list sorted by the key given in the argument. +For example:: + + {{ value|dictsort:"name" }} + +If ``value`` is:: + + [ + {'name': 'zed', 'age': 19} + {'name': 'amy', 'age': 22}, + {'name': 'joe', 'age': 31}, + ] + +then the output would be:: + + [ + {'name': 'amy', 'age': 22}, + {'name': 'joe', 'age': 31}, + {'name': 'zed', 'age': 19} + ] + dictsortreversed ~~~~~~~~~~~~~~~~ Takes a list of dictionaries, returns that list sorted in reverse order by the -key given in the argument. +key given in the argument. This works exactly the same as the above filter, but +the returned value will be in reverse order. divisibleby ~~~~~~~~~~~ Returns true if the value is divisible by the argument. +For example:: + + {{ value|divisibleby:3 }} + +If ``value`` is ``21``, the output would be ``True``. + escape ~~~~~~ @@ -1319,16 +1377,38 @@ filesizeformat Format the value like a 'human-readable' file size (i.e. ``'13 KB'``, ``'4.1 MB'``, ``'102 bytes'``, etc). +For example:: + + {{ value|filesizeformat }} + +If ``value`` is 123456789, the output would be ``117.7 MB``. + first ~~~~~ Returns the first item in a list. +For example:: + + {{ value|first }} + +If ``value`` is ``['a', 'b', 'c']``, the output would be `a`. + fix_ampersands ~~~~~~~~~~~~~~ Replaces ampersands with ``&`` entities. +For example:: + + {{ value|fix_ampersands }} + +If ``value`` is ``Tom & Jerry``, the output would be ``Tom & Jerry``. + +**New in Django development version**: you probably don't need to use this +filter since ampersands will be automatically escaped. See escape_ for more on +how auto-escaping works. + floatformat ~~~~~~~~~~~ @@ -1388,6 +1468,12 @@ right-most digit, 2 is the second-right-most digit, etc. Returns the original value for invalid input (if input or argument is not an integer, or if argument is less than 1). Otherwise, output is always an integer. +For example:: + + {{ value|get_digit:2 }} + +If ``value`` is 123456789, the output would be ``8``. + iriencode ~~~~~~~~~ @@ -1401,7 +1487,13 @@ It's safe to use this filter on a string that has already gone through the join ~~~~ -Joins a list with a string, like Python's ``str.join(list)``. +Joins a list with a string, like Python's ``str.join(list)`` + +For example:: + + {{ value|join:" // " }} + +If ``value`` is ``['a', 'b', 'c']``, the output would be ``a // b // c``. last ~~~~ @@ -1410,16 +1502,34 @@ last Returns the last item in a list. +For example:: + + {{ value|last }} + +If ``value`` is ``['a', 'b', 'c', 'd']``, the output would be ``d``. + length ~~~~~~ Returns the length of the value. Useful for lists. +For example:: + + {{ value|length }} + +If ``value`` is ``['a', 'b', 'c', 'd']``, the output would be ``4``. + length_is ~~~~~~~~~ Returns a boolean of whether the value's length is the argument. +For example:: + + {{ value|length_is:4 }} + +If ``value`` is ``['a', 'b', 'c', 'd']``, the output would be ``True``. + linebreaks ~~~~~~~~~~ @@ -1427,6 +1537,13 @@ Replaces line breaks in plain text with appropriate HTML; a single newline becomes an HTML line break (``
``) and a new line followed by a blank line becomes a paragraph break (``

``). +For example:: + + {{ value|linebreaks }} + +If ``value`` is ``Joel\nis a slug``, the output would be ``

Joe
is a +slug

``. + linebreaksbr ~~~~~~~~~~~~ @@ -1450,12 +1567,25 @@ lower Converts a string into all lowercase. +For example:: + + {{ value|lower }} + +If ``value`` is ``Joel Is a Slug``, the output would be ``joel is a slug``. + make_list ~~~~~~~~~ Returns the value turned into a list. For an integer, it's a list of digits. For a string, it's a list of characters. +For example:: + + {{ value|make_list }} + +If ``value`` is "Joe", the output would be ``[u'J', u'o', u'e']. If ``value`` is +123, the output would be ``[1, 2, 3]``. + phone2numeric ~~~~~~~~~~~~~ @@ -1492,18 +1622,33 @@ Example:: pprint ~~~~~~ -A wrapper around pprint.pprint -- for debugging, really. +A wrapper around `pprint.pprint`__ -- for debugging, really. + +__ http://www.python.org/doc/2.5/lib/module-pprint.html random ~~~~~~ Returns a random item from the list. +For example:: + + {{ value|random }} + +If ``value`` is ``['a', 'b', 'c', 'd']``, the output could be ``b``. + removetags ~~~~~~~~~~ Removes a space separated list of [X]HTML tags from the output. +For example:: + + {{ value|removetags:"b span"|safe }} + +If ``value`` is ``Joel a slug`` the +output would be ``Joel a slug``. + rjust ~~~~~ @@ -1535,6 +1680,12 @@ Converts to lowercase, removes non-word characters (alphanumerics and underscores) and converts spaces to hyphens. Also strips leading and trailing whitespace. +For example:: + + {{ value|slugify }} + +If ``value`` is ``Joel is a slug``, the output would be ``joel-is-a-slug``. + stringformat ~~~~~~~~~~~~ @@ -1545,11 +1696,24 @@ the leading "%" is dropped. See http://docs.python.org/lib/typesseq-strings.html for documentation of Python string formatting +For example:: + + {{ value|stringformat:"s" }} + +If ``value`` is ``Joel is a slug``, the output would be ``Joel is a slug``. + striptags ~~~~~~~~~ Strips all [X]HTML tags. +For example:: + + {{ value|striptags }} + +If ``value`` is ``Joel a slug`` the +output would be ``Joel is a slug``. + time ~~~~ @@ -1558,6 +1722,13 @@ The time filter will only accept parameters in the format string that relate to the time of day, not the date (for obvious reasons). If you need to format a date, use the `date`_ filter. +For example:: + + {{ value|time:"H:i" }} + +If ``value`` is ``datetime.datetime.now()``, the output would be formatted +like ``01:23``. + timesince ~~~~~~~~~ @@ -1599,6 +1770,12 @@ Truncates a string after a certain number of words. **Argument:** Number of words to truncate after +For example:: + + {{ value|truncatewords:2 }} + +If ``value`` is ``Joel is a slug``, the output would be ``Joel is ...``. + truncatewords_html ~~~~~~~~~~~~~~~~~~ @@ -1644,6 +1821,12 @@ upper Converts a string into all uppercase. +For example:: + + {{ value|upper }} + +If ``value`` is ``Joel is a slug``, the output would be ``JOEL IS A SLUG``. + urlencode ~~~~~~~~~ @@ -1657,6 +1840,14 @@ Converts URLs in plain text into clickable links. Note that if ``urlize`` is applied to text that already contains HTML markup, things won't work as expected. Apply this filter only to *plain* text. +For example:: + + {{ value|urlize }} + +If ``value`` is ``Check out www.djangoproject.com``, the output would be +``Check out www.djangoproject.com``. + urlizetrunc ~~~~~~~~~~~ @@ -1667,6 +1858,14 @@ As with urlize_, this filter should only be applied to *plain* text. **Argument:** Length to truncate URLs to +For example:: + + {{ value|urlizetrunc:15 }} + +If ``value`` is ``Check out www.djangoproject.com``, the output would be +``Check out www.djangopr...``. + wordcount ~~~~~~~~~ @@ -1679,6 +1878,16 @@ Wraps words at specified line length. **Argument:** number of characters at which to wrap the text +For example:: + + {{ value|wordwrap:5 }} + +If ``value`` is ``Joel is a slug``, the output would be:: + + Joel + is a + slug + yesno ~~~~~