summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/topics/conditional-view-processing.txt12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/topics/conditional-view-processing.txt b/docs/topics/conditional-view-processing.txt
index 7f1fde0fb9..7fabacf6c5 100644
--- a/docs/topics/conditional-view-processing.txt
+++ b/docs/topics/conditional-view-processing.txt
@@ -105,6 +105,18 @@ for your front page view::
def front_page(request, blog_id):
...
+.. admonition:: Be careful with the order of decorators
+
+ When ``condition()`` returns a conditional response, any decorators below
+ it will be skipped and won't apply to the response. Therefore, any
+ decorators that need to apply to both the regular view response and a
+ conditional response must be above ``condition()``. In particular,
+ :func:`~django.views.decorators.vary.vary_on_cookie`,
+ :func:`~django.views.decorators.vary.vary_on_headers`, and
+ :func:`~django.views.decorators.cache.cache_control` should come first
+ because :rfc:`RFC 7232 <7232#section-4.1>` requires that the headers they
+ set be present on 304 responses.
+
Shortcuts for only computing one value
======================================