Simplified description of HttpResponse(<iterator>)
Related to 8b9b8d3b
.
This commit is contained in:
parent
acd7b34aaf
commit
7415176507
|
@ -555,28 +555,12 @@ file-like object::
|
||||||
Passing iterators
|
Passing iterators
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Finally, you can pass ``HttpResponse`` an iterator rather than strings. If you
|
Finally, you can pass ``HttpResponse`` an iterator rather than strings.
|
||||||
use this technique, the iterator should return strings.
|
``HttpResponse`` will consume the iterator immediately, store its content as a
|
||||||
|
string, and discard it.
|
||||||
|
|
||||||
Passing an iterator as content to :class:`HttpResponse` creates a
|
If you need the response to be streamed from the iterator to the client, you
|
||||||
streaming response if (and only if) no middleware accesses the
|
must use the :class:`StreamingHttpResponse` class instead.
|
||||||
:attr:`HttpResponse.content` attribute before the response is returned.
|
|
||||||
|
|
||||||
.. versionchanged:: 1.5
|
|
||||||
|
|
||||||
This technique is fragile and was deprecated in Django 1.5. If you need the
|
|
||||||
response to be streamed from the iterator to the client, you should use the
|
|
||||||
:class:`StreamingHttpResponse` class instead.
|
|
||||||
|
|
||||||
As of Django 1.7, when :class:`HttpResponse` is instantiated with an
|
|
||||||
iterator, it will consume it immediately, store the response content as a
|
|
||||||
string, and discard the iterator.
|
|
||||||
|
|
||||||
.. versionchanged:: 1.5
|
|
||||||
|
|
||||||
You can now use :class:`HttpResponse` as a file-like object even if it was
|
|
||||||
instantiated with an iterator. Django will consume and save the content of
|
|
||||||
the iterator on first access.
|
|
||||||
|
|
||||||
Setting header fields
|
Setting header fields
|
||||||
~~~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
Loading…
Reference in New Issue