Added information about request context processor to shipherd docs. See issue #160.
authorStephen Burrows <stephen.r.burrows@gmail.com>
Wed, 15 Jun 2011 21:50:22 +0000 (17:50 -0400)
committerStephen Burrows <stephen.r.burrows@gmail.com>
Wed, 15 Jun 2011 21:50:22 +0000 (17:50 -0400)
docs/tutorials/shipherd.rst
philo/contrib/shipherd/templatetags/shipherd.py

index 391f10b..3454ef2 100644 (file)
@@ -3,7 +3,21 @@ Using Shipherd in the Admin
 
 The navigation mechanism is fairly complex; unfortunately, there's no real way around that - without a lot of equally complex code that you are quite welcome to write and contribute! ;-)
 
-For this guide, we'll assume that you have the setup described in :doc:`getting-started`. We'll be adding a main :class:`.Navigation` to the root :class:`.Node` and making it display as part of the :class:`.Template`. Before getting started, make sure that you've added :mod:`philo.contrib.shipherd` to your :setting:`INSTALLED_APPS`.
+For this guide, we'll assume that you have the setup described in :doc:`getting-started`. We'll be adding a main :class:`.Navigation` to the root :class:`.Node` and making it display as part of the :class:`.Template`.
+
+Before getting started, make sure that you've added :mod:`philo.contrib.shipherd` to your :setting:`INSTALLED_APPS`. :mod:`~philo.contrib.shipherd` template tags also require the request context processor, so make sure to set :setting:`TEMPLATE_CONTEXT_PROCESSORS` appropriately::
+
+       TEMPLATE_CONTEXT_PROCESSORS = (
+               # Defaults
+               "django.contrib.auth.context_processors.auth",
+               "django.core.context_processors.debug",
+               "django.core.context_processors.i18n",
+               "django.core.context_processors.media",
+               "django.core.context_processors.static",
+               "django.contrib.messages.context_processors.messages"
+               ...
+               "django.core.context_processors.request"
+       )
 
 Creating the Navigation
 +++++++++++++++++++++++
index 85a0bc5..1031d73 100644 (file)
@@ -140,6 +140,22 @@ def recursenavigation(parser, token):
                        </li>
                    {% endrecursenavigation %}
                </ul>
+       
+       .. note:: {% recursenavigation %} requires that the current :class:`HttpRequest` be present in the context as ``request``. The simplest way to do this is with the `request context processor`_. If this is installed with just the default template context processors, the entry in your settings file will look like this::
+
+               TEMPLATE_CONTEXT_PROCESSORS = (
+                       # Defaults
+                       "django.contrib.auth.context_processors.auth",
+                       "django.core.context_processors.debug",
+                       "django.core.context_processors.i18n",
+                       "django.core.context_processors.media",
+                       "django.core.context_processors.static",
+                       "django.contrib.messages.context_processors.messages"
+                       ...
+                       "django.core.context_processors.request"
+               )
+       
+       .. _request context processor: https://docs.djangoproject.com/en/dev/ref/templates/api/#django-core-context-processors-request
        """
        bits = token.contents.split()
        if len(bits) != 3: