        to be interpreted as-is on the client side.
  
        Internally, these strings are of type ``SafeString`` or ``SafeUnicode``.
        They share a common base class of ``SafeData``, so you can test
        for them using code like::
  
            if isinstance(value, SafeData):
                # Do something with the "safe" string.
  
      * **Strings marked as "needing escaping"** are *always* escaped on
 
</s> remove       output, regardless of whether they are in an ``autoescape`` block or not.
      These strings are only escaped once, however, even if auto-escaping
 </s> add       output, regardless of whether they are in an :ttag:`autoescape` block or
      not. These strings are only escaped once, however, even if auto-escaping </s> remove pages. Those buttons always look the same, but the link targets change depending
on the object being edited -- so they're a perfect case for using a small
template that is filled with details from the current object. (In the admin's
case, this is the ``submit_row`` tag.)
 </s> add pages. Those buttons always look the same, but the link targets change
depending on the object being edited -- so they're a perfect case for using a
small template that is filled with details from the current object. (In the
admin's case, this is the ``submit_row`` tag.) </s> remove order for the ``{% load %}`` tag to work. This is a security feature: It allows
you to host Python code for many template libraries on a single host machine
without enabling access to all of them for every Django installation.
 </s> add order for the :ttag:`{% load %}<load>` tag to work. This is a security feature:
It allows you to host Python code for many template libraries on a single host
machine without enabling access to all of them for every Django installation. </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.
      for them using code like:

      .. code-block:: python
        to be interpreted as-is on the client side.
  
        Internally, these strings are of type ``SafeString`` or ``SafeUnicode``.
        They share a common base class of ``SafeData``, so you can test
      for them using code like:

      .. code-block:: python
  
            if isinstance(value, SafeData):
                # Do something with the "safe" string.
  
      * **Strings marked as "needing escaping"** are *always* escaped on
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