From: Stephen Burrows Date: Wed, 15 Jun 2011 21:50:22 +0000 (-0400) Subject: Added information about request context processor to shipherd docs. See issue #160. X-Git-Tag: philo-0.9.1^2~8^2~1^2 X-Git-Url: http://git.ithinksw.org/philo.git/commitdiff_plain/1cd3ce0a54b4114950bf4230fae798f6dd007d11 Added information about request context processor to shipherd docs. See issue #160. --- diff --git a/docs/tutorials/shipherd.rst b/docs/tutorials/shipherd.rst index 391f10b..3454ef2 100644 --- a/docs/tutorials/shipherd.rst +++ b/docs/tutorials/shipherd.rst @@ -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 +++++++++++++++++++++++ diff --git a/philo/contrib/shipherd/templatetags/shipherd.py b/philo/contrib/shipherd/templatetags/shipherd.py index 85a0bc5..1031d73 100644 --- a/philo/contrib/shipherd/templatetags/shipherd.py +++ b/philo/contrib/shipherd/templatetags/shipherd.py @@ -140,6 +140,22 @@ def recursenavigation(parser, token): {% endrecursenavigation %} + + .. 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: