Browse Source

Fixed #33683 -- Document HttpResponseBase and allow import from django.http

Collin Anderson 2 years ago
parent
commit
2a5d2eefc7
2 changed files with 14 additions and 0 deletions
  1. 2 0
      django/http/__init__.py
  2. 12 0
      docs/ref/request-response.txt

+ 2 - 0
django/http/__init__.py

@@ -11,6 +11,7 @@ from django.http.response import (
     Http404,
     HttpResponse,
     HttpResponseBadRequest,
+    HttpResponseBase,
     HttpResponseForbidden,
     HttpResponseGone,
     HttpResponseNotAllowed,
@@ -31,6 +32,7 @@ __all__ = [
     "RawPostDataException",
     "UnreadablePostError",
     "HttpResponse",
+    "HttpResponseBase",
     "StreamingHttpResponse",
     "HttpResponseRedirect",
     "HttpResponsePermanentRedirect",

+ 12 - 0
docs/ref/request-response.txt

@@ -1150,6 +1150,9 @@ the data to the client. Because the content can't be accessed, many
 middleware can't function normally. For example the ``ETag`` and
 ``Content-Length`` headers can't be generated for streaming responses.
 
+The :class:`HttpResponseBase` base class is common between
+:class:`HttpResponse` and :class:`StreamingHttpResponse`.
+
 Attributes
 ----------
 
@@ -1218,3 +1221,12 @@ Methods
     This method is automatically called during the response initialization and
     set various headers (``Content-Length``, ``Content-Type``, and
     ``Content-Disposition``) depending on ``open_file``.
+
+``HttpResponseBase`` class
+==========================
+
+.. class:: HttpResponseBase
+
+The :class:`HttpResponseBase` class is common to all Django responses.
+It should not be used to create responses directly, but it can be
+useful for type-checking.