Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #20459 - Improved example for setting HTTP header fields.

Thanks Jérémie Blaser.
  • Loading branch information...
commit e83ff42792eb52235cacda58f3441673cc4e4c94 1 parent 6786920
@timgraham timgraham authored
Showing with 10 additions and 2 deletions.
  1. +1 −0  AUTHORS
  2. +9 −2 docs/ref/request-response.txt
View
1  AUTHORS
@@ -111,6 +111,7 @@ answer newbie questions, and generally made Django that much better:
Paul Bissex <http://e-scribe.com/>
Loïc Bistuer <loic.bistuer@sixmedia.com>
Simon Blanchard
+ Jérémie Blaser <blaserje@gmail.com>
Craig Blaszczyk <masterjakul@gmail.com>
David Blewett <david@dawninglight.net>
Artem Gnilov <boobsd@gmail.com>
View
11 docs/ref/request-response.txt
@@ -584,12 +584,19 @@ Setting header fields
To set or remove a header field in your response, treat it like a dictionary::
>>> response = HttpResponse()
- >>> response['Cache-Control'] = 'no-cache'
- >>> del response['Cache-Control']
+ >>> response['Age'] = 120
+ >>> del response['Age']
Note that unlike a dictionary, ``del`` doesn't raise ``KeyError`` if the header
field doesn't exist.
+For setting the ``Cache-Control`` and ``Vary`` header fields, it is recommended
+to use the :meth:`~django.utils.cache.patch_cache_control` and
+:meth:`~django.utils.cache.patch_vary_headers` methods from
+:mod:`django.utils.cache`, since these fields can have multiple, comma-separated
+values. The "patch" methods ensure that other values, e.g. added by a
+middleware, are not removed.
+
HTTP header fields cannot contain newlines. An attempt to set a header field
containing a newline character (CR or LF) will raise ``BadHeaderError``
Please sign in to comment.
Something went wrong with that request. Please try again.