From bd45139d4e17304229da5464c907c614e64278d1 Mon Sep 17 00:00:00 2001 From: Moritz Date: Fri, 16 May 2014 17:52:59 +0200 Subject: [PATCH] [1.7.x] Fixed #22167 -- Improved documentation on context processors Backport of e7ffba8f78849fbf60b98fb8d67ef4577b585e3b from master. --- docs/ref/templates/api.txt | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/docs/ref/templates/api.txt b/docs/ref/templates/api.txt index d07c65d9f2..a058ee032b 100644 --- a/docs/ref/templates/api.txt +++ b/docs/ref/templates/api.txt @@ -450,11 +450,11 @@ below. .. admonition:: When context processors are applied - When you use ``RequestContext``, the variables you supply directly - are added first, followed any variables supplied by context - processors. This means that a context processor may overwrite a - variable you've supplied, so take care to avoid variable names - which overlap with those supplied by your context processors. + Context processors are applied *after* the context itself is processed. + This means that a context processor may overwrite variables you've + supplied to your ``Context`` or ``RequestContext``, so take care + to avoid variable names that overlap with those supplied by your + context processors. Also, you can give ``RequestContext`` a list of additional processors, using the optional, third positional argument, ``processors``. In this example, the @@ -496,6 +496,10 @@ optional, third positional argument, ``processors``. In this example, the the same as a call to :func:`~django.shortcuts.render_to_response()` with a context_instance argument that forces the use of a ``RequestContext``. + Note that the contents of a supplied dictionary (``my_data_dictionary`` + in this example) will take precedence over any variables supplied by + context processors or the ``RequestContext``. + Here's what each of the default processors does: django.contrib.auth.context_processors.auth