      1. Your filter does not introduce any HTML-unsafe characters (``<``, ``>``,
         ``'``, ``"`` or ``&``) into the result that were not already present. In
         this case, you can let Django take care of all the auto-escaping
         handling for you. All you need to do is put the ``is_safe`` attribute on
         your filter function and set it to ``True``, like so::
  
             @register.filter
             def myfilter(value):
                 return value
             myfilter.is_safe = True
 
</s> remove        For example, suppose you have a filter that adds the string ``xx`` to the
       end of any input. Since this introduces no dangerous HTML characters to
       the result (aside from any that were already present), you should mark
       your filter with ``is_safe``::
 </s> add        For example, suppose you have a filter that adds the string ``xx`` to
       the end of any input. Since this introduces no dangerous HTML characters
       to the result (aside from any that were already present), you should
       mark your filter with ``is_safe``:

       .. code-block:: python </s> remove        Django will escape the output whenever the input is not already marked as
       "safe".
 </s> add        Django will escape the output whenever the input is not already marked
       as "safe". </s> remove         "Converts a string into all lowercase"
 </s> add         """Converts a string into all lowercase""" </s> remove Just keep in mind that a ``{% load %}`` statement will load tags/filters for
the given Python module name, not the name of the app.
 </s> add Just keep in mind that a :ttag:`{% load %}<load>` statement will load
tags/filters for the given Python module name, not the name of the app. </s> remove your function. Example::
 </s> add your function. Example:

.. code-block:: python
       your filter function and set it to ``True``, like so:

       .. code-block:: python
      1. Your filter does not introduce any HTML-unsafe characters (``<``, ``>``,
         ``'``, ``"`` or ``&``) into the result that were not already present. In
         this case, you can let Django take care of all the auto-escaping
         handling for you. All you need to do is put the ``is_safe`` attribute on
       your filter function and set it to ``True``, like so:

       .. code-block:: python
  
             @register.filter
             def myfilter(value):
                 return value
             myfilter.is_safe = True
keep keep keep keep replace keep keep keep keep keep
 Brushed up the custom template tag 'howto' guide by moving the assignment_tag doc to a more appropriate place (i.e. under the "Setting a variable in the context" section), adding cross references, fixing a few minor inaccuracies and doing a little PEP8 cleanup.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16909 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
docs/howto/custom-template-tags.txt