mirror of
https://github.com/django/django.git
synced 2025-07-24 05:36:15 +00:00
Fixed #32002 -- Added headers parameter to HttpResponse and subclasses.
This commit is contained in:
parent
2e7cc95499
commit
dcb69043d0
9 changed files with 115 additions and 32 deletions
|
@ -724,6 +724,10 @@ by ``HttpResponse``.
|
|||
When using this interface, unlike a dictionary, ``del`` doesn't raise
|
||||
``KeyError`` if the header field doesn't exist.
|
||||
|
||||
You can also set headers on instantiation::
|
||||
|
||||
>>> response = HttpResponse(headers={'Age': 120})
|
||||
|
||||
For setting the ``Cache-Control`` and ``Vary`` header fields, it is recommended
|
||||
to use the :func:`~django.utils.cache.patch_cache_control` and
|
||||
:func:`~django.utils.cache.patch_vary_headers` methods from
|
||||
|
@ -738,15 +742,19 @@ containing a newline character (CR or LF) will raise ``BadHeaderError``
|
|||
|
||||
The :attr:`HttpResponse.headers` interface was added.
|
||||
|
||||
The ability to set headers on instantiation was added.
|
||||
|
||||
Telling the browser to treat the response as a file attachment
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To tell the browser to treat the response as a file attachment, use the
|
||||
``content_type`` argument and set the ``Content-Disposition`` header. For example,
|
||||
this is how you might return a Microsoft Excel spreadsheet::
|
||||
To tell the browser to treat the response as a file attachment, set the
|
||||
``Content-Type`` and ``Content-Disposition`` headers. For example, this is how
|
||||
you might return a Microsoft Excel spreadsheet::
|
||||
|
||||
>>> response = HttpResponse(my_data, content_type='application/vnd.ms-excel')
|
||||
>>> response.headers['Content-Disposition'] = 'attachment; filename="foo.xls"'
|
||||
>>> response = HttpResponse(my_data, headers={
|
||||
... 'Content-Type': 'application/vnd.ms-excel',
|
||||
... 'Content-Disposition': 'attachment; filename="foo.xls"',
|
||||
... })
|
||||
|
||||
There's nothing Django-specific about the ``Content-Disposition`` header, but
|
||||
it's easy to forget the syntax, so we've included it here.
|
||||
|
@ -802,10 +810,10 @@ Attributes
|
|||
Methods
|
||||
-------
|
||||
|
||||
.. method:: HttpResponse.__init__(content=b'', content_type=None, status=200, reason=None, charset=None)
|
||||
.. method:: HttpResponse.__init__(content=b'', content_type=None, status=200, reason=None, charset=None, headers=None)
|
||||
|
||||
Instantiates an ``HttpResponse`` object with the given page content and
|
||||
content type.
|
||||
Instantiates an ``HttpResponse`` object with the given page content,
|
||||
content type, and headers.
|
||||
|
||||
``content`` is most commonly an iterator, bytestring, :class:`memoryview`,
|
||||
or string. Other types will be converted to a bytestring by encoding their
|
||||
|
@ -829,6 +837,12 @@ Methods
|
|||
given it will be extracted from ``content_type``, and if that
|
||||
is unsuccessful, the :setting:`DEFAULT_CHARSET` setting will be used.
|
||||
|
||||
``headers`` is a :class:`dict` of HTTP headers for the response.
|
||||
|
||||
.. versionchanged:: 3.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. method:: HttpResponse.__setitem__(header, value)
|
||||
|
||||
Sets the given header name to the given value. Both ``header`` and
|
||||
|
|
|
@ -57,7 +57,7 @@ Attributes
|
|||
Methods
|
||||
-------
|
||||
|
||||
.. method:: SimpleTemplateResponse.__init__(template, context=None, content_type=None, status=None, charset=None, using=None)
|
||||
.. method:: SimpleTemplateResponse.__init__(template, context=None, content_type=None, status=None, charset=None, using=None, headers=None)
|
||||
|
||||
Instantiates a :class:`~django.template.response.SimpleTemplateResponse`
|
||||
object with the given template, context, content type, HTTP status, and
|
||||
|
@ -90,6 +90,13 @@ Methods
|
|||
The :setting:`NAME <TEMPLATES-NAME>` of a template engine to use for
|
||||
loading the template.
|
||||
|
||||
``headers``
|
||||
A :class:`dict` of HTTP headers to add to the response.
|
||||
|
||||
.. versionchanged:: 3.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
.. method:: SimpleTemplateResponse.resolve_context(context)
|
||||
|
||||
Preprocesses context data that will be used for rendering a template.
|
||||
|
@ -149,7 +156,7 @@ Methods
|
|||
Methods
|
||||
-------
|
||||
|
||||
.. method:: TemplateResponse.__init__(request, template, context=None, content_type=None, status=None, charset=None, using=None)
|
||||
.. method:: TemplateResponse.__init__(request, template, context=None, content_type=None, status=None, charset=None, using=None, headers=None)
|
||||
|
||||
Instantiates a :class:`~django.template.response.TemplateResponse` object
|
||||
with the given request, template, context, content type, HTTP status, and
|
||||
|
@ -185,6 +192,13 @@ Methods
|
|||
The :setting:`NAME <TEMPLATES-NAME>` of a template engine to use for
|
||||
loading the template.
|
||||
|
||||
``headers``
|
||||
A :class:`dict` of HTTP headers to add to the response.
|
||||
|
||||
.. versionchanged:: 3.2
|
||||
|
||||
The ``headers`` parameter was added.
|
||||
|
||||
The rendering process
|
||||
=====================
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue