Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #1684 -- Added apnumber template filter in django.contrib.human…

…ize. Thanks, ubernostrum

git-svn-id: http://code.djangoproject.com/svn/django/trunk@3077 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit b8fd9a44e5a00ec1a3e857cd20442ec2572335d0 1 parent fb537e1
@adrianholovaty adrianholovaty authored
Showing with 34 additions and 6 deletions.
  1. +14 −0 django/contrib/humanize/templatetags/humanize.py
  2. +20 −6 docs/add_ons.txt
View
14 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)
View
26 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
=========
Please sign in to comment.
Something went wrong with that request. Please try again.