Index: docs/templates_python.txt
===================================================================
--- docs/templates_python.txt	(revision 5766)
+++ docs/templates_python.txt	(working copy)
@@ -642,7 +642,22 @@
         "Converts a string into all lowercase"
         return value.lower()
 
-When you've written your filter definition, you need to register it with
+Template filters which expect strings
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+If you are writing a template filter which only expects a string as the first
+argument, you should use the included decorator ``stringfilter`` which will convert
+an object to it's string value before being passed to your function::
+
+    from django.template.defaultfilters import stringfilter
+
+    @stringfilter
+    def lower(value):
+        return value.lower()
+
+Registering custom template filters
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+After you've written your filter definition, you need to register it with
 your ``Library`` instance, to make it available to Django's template language::
 
     register.filter('cut', cut)
@@ -658,28 +673,19 @@
 decorator instead::
 
     @register.filter(name='cut')
+    @stringfilter
     def cut(value, arg):
         return value.replace(arg, '')
 
     @register.filter
+    @stringfilter
     def lower(value):
         return value.lower()
 
 If you leave off the ``name`` argument, as in the second example above, Django
 will use the function's name as the filter name.
 
-Template filters which expect strings
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-If you are writing a template filter which only expects a string as the first
-argument, you should use the included decorator ``stringfilter`` which will convert
-an object to it's string value before being passed to your function::
 
-    from django.template.defaultfilters import stringfilter
-
-    @stringfilter
-    def lower(value):
-        return value.lower()
-
 Writing custom template tags
 ----------------------------
 
