1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #31789 -- Added a new headers interface to HttpResponse.

This commit is contained in:
Tom Carrick
2020-07-14 13:32:24 +02:00
committed by Mariusz Felisiak
parent 71ae1ab012
commit bcc2befd0e
47 changed files with 385 additions and 256 deletions

View File

@@ -1159,10 +1159,10 @@ In this case, a caching mechanism (such as Django's own cache middleware) will
cache a separate version of the page for each unique user-agent.
The advantage to using the ``vary_on_headers`` decorator rather than manually
setting the ``Vary`` header (using something like
``response['Vary'] = 'user-agent'``) is that the decorator *adds* to the
``Vary`` header (which may already exist), rather than setting it from scratch
and potentially overriding anything that was already in there.
setting the ``Vary`` header (using something like ``response.headers['Vary'] =
'user-agent'``) is that the decorator *adds* to the ``Vary`` header (which may
already exist), rather than setting it from scratch and potentially overriding
anything that was already in there.
You can pass multiple headers to ``vary_on_headers()``::

View File

@@ -119,7 +119,7 @@ And the view::
last_book = self.get_queryset().latest('publication_date')
response = HttpResponse()
# RFC 1123 date format
response['Last-Modified'] = last_book.publication_date.strftime('%a, %d %b %Y %H:%M:%S GMT')
response.headers['Last-Modified'] = last_book.publication_date.strftime('%a, %d %b %Y %H:%M:%S GMT')
return response
If the view is accessed from a ``GET`` request, an object list is returned in

View File

@@ -551,9 +551,9 @@ Specifically, a ``Response`` object has the following attributes:
If the given URL is not found, accessing this attribute will raise a
:exc:`~django.urls.Resolver404` exception.
You can also use dictionary syntax on the response object to query the value
of any settings in the HTTP headers. For example, you could determine the
content type of a response using ``response['Content-Type']``.
As with a normal response, you can also access the headers through
:attr:`.HttpResponse.headers`. For example, you could determine the content
type of a response using ``response.headers['Content-Type']``.
Exceptions
----------