diff options
| author | Kevin Christopher Henry <k@severian.com> | 2016-10-13 19:52:18 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-10-14 07:38:22 -0400 |
| commit | 404587078112295d961939ae76b49ab22da3c79c (patch) | |
| tree | 44458b7a64b7ee2150ff9d3d2262c13644e10757 | |
| parent | 91cc5fd4cce58361aab9554a6bb695c854df641a (diff) | |
[1.10.x] Refs #19705 -- Documented decorator ordering with @condition().
Backport of 9eb49af821546af1cae8f3a91aefea4b99a6478f from master
| -rw-r--r-- | docs/topics/conditional-view-processing.txt | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/topics/conditional-view-processing.txt b/docs/topics/conditional-view-processing.txt index 7efd8ac636..b7a53ed377 100644 --- a/docs/topics/conditional-view-processing.txt +++ b/docs/topics/conditional-view-processing.txt @@ -97,6 +97,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 ====================================== |
