diff options
| author | Adrian Holovaty <adrian@holovaty.com> | 2006-06-04 01:03:48 +0000 |
|---|---|---|
| committer | Adrian Holovaty <adrian@holovaty.com> | 2006-06-04 01:03:48 +0000 |
| commit | b8fd9a44e5a00ec1a3e857cd20442ec2572335d0 (patch) | |
| tree | c06a884004565aa67e270221cd006ae020394cbb | |
| parent | fb537e177d7d304d6642ee6005258a82584a8032 (diff) | |
Fixed #1684 -- Added apnumber template filter in django.contrib.humanize. Thanks, ubernostrum
git-svn-id: http://code.djangoproject.com/svn/django/trunk@3077 bcc190cf-cafb-0310-a4f2-bffc1f526a37
| -rw-r--r-- | django/contrib/humanize/templatetags/humanize.py | 14 | ||||
| -rw-r--r-- | docs/add_ons.txt | 26 |
2 files changed, 34 insertions, 6 deletions
diff --git a/django/contrib/humanize/templatetags/humanize.py b/django/contrib/humanize/templatetags/humanize.py index d3170f3116..b2d28a0ab4 100644 --- a/django/contrib/humanize/templatetags/humanize.py +++ b/django/contrib/humanize/templatetags/humanize.py @@ -48,3 +48,17 @@ def intword(value): return '%.1f trillion' % (value / 1000000000000.0) return value register.filter(intword) + +def apnumber(value): + """ + For numbers 1-9, returns the number spelled out. Otherwise, returns the + number. This follows Associated Press style. + """ + try: + value = int(value) + except ValueError: + return value + if not 0 < value < 10: + return value + return ('one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine')[value-1] +register.filter(apnumber) diff --git a/docs/add_ons.txt b/docs/add_ons.txt index bcc2f50a7f..9f5dc640da 100644 --- a/docs/add_ons.txt +++ b/docs/add_ons.txt @@ -53,16 +53,17 @@ To activate these filters, add ``'django.contrib.english'`` to your ``INSTALLED_APPS`` setting. Once you've done that, use ``{% load english %}`` in a template, and you'll have access to these filters: -ordinal -------- +apnumber +-------- -Converts an integer to its ordinal as a string. +For numbers 1-9, returns the number spelled out. Otherwise, returns the +number. This follows Associated Press style. Examples: - * ``1`` becomes ``'1st'``. - * ``2`` becomes ``'2nd'``. - * ``3`` becomes ``'3rd'``. + * ``1`` becomes ``'one'``. + * ``2`` becomes ``'two'``. + * ``10`` becomes ``10``. You can pass in either an integer or a string representation of an integer. @@ -96,6 +97,19 @@ Values up to 1000000000000000 (one quadrillion) are supported. You can pass in either an integer or a string representation of an integer. +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. + flatpages ========= |
