Browse Source

Updated TemplateResponseMixin docs to reflect new behavior after refs #23789.

Tim Graham 10 years ago
parent
commit
493ab45349
1 changed files with 11 additions and 8 deletions
  1. 11 8
      docs/ref/class-based-views/mixins-simple.txt

+ 11 - 8
docs/ref/class-based-views/mixins-simple.txt

@@ -58,16 +58,19 @@ TemplateResponseMixin
         altered later (e.g. in
         :ref:`template response middleware <template-response-middleware>`).
 
-        .. admonition:: Context processors
-
-            ``TemplateResponse`` uses :class:`~django.template.RequestContext`
-            which  means that callables defined in
-            :setting:`TEMPLATE_CONTEXT_PROCESSORS` may overwrite template
-            variables defined in your views. For example, if you subclass
-            :class:`DetailView <django.views.generic.detail.DetailView>` and
+        .. versionchanged:: 1.8
+
+            In older versions of Django, ``TemplateResponse`` used
+            :class:`~django.template.RequestContext` in such a way that
+            callables defined in :setting:`TEMPLATE_CONTEXT_PROCESSORS` would
+            override template variables defined in your views. For example, if
+            you subclassed :class:`DetailView
+            <django.views.generic.detail.DetailView>` and
             set ``context_object_name`` to ``user``, the
             ``django.contrib.auth.context_processors.auth`` context processor
-            will happily overwrite your variable with current user.
+            would overwrite your variable with the current user. Now, for
+            consistency with the ``render()`` shortcut, values in the context
+            provided by the class override values from context processors.
 
         If you need custom template loading or custom context object
         instantiation, create a ``TemplateResponse`` subclass and assign it to