From 76e0846c90e872a04638a835b7c33b41874441d2 Mon Sep 17 00:00:00 2001 From: Baptiste Mispelon Date: Fri, 22 Nov 2019 21:50:11 +0100 Subject: [PATCH] [3.0.x] Fixed #28469 -- Doc'd how to create a custom HttpResponse subclass. Backport of 9f1ec9efc35bbb375c9cebb3e0d8c1b7be838338 from master --- docs/ref/request-response.txt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/docs/ref/request-response.txt b/docs/ref/request-response.txt index 26b5b340a2..633e82a331 100644 --- a/docs/ref/request-response.txt +++ b/docs/ref/request-response.txt @@ -768,6 +768,8 @@ Methods :setting:`DEFAULT_CHARSET` settings, by default: "`text/html; charset=utf-8`". ``status`` is the :rfc:`HTTP status code <7231#section-6>` for the response. + You can use Python's :py:class:`http.HTTPStatus` for meaningful aliases, + such as ``HTTPStatus.NO_CONTENT``. ``reason`` is the HTTP response phrase. If not provided, a default phrase will be used. @@ -971,6 +973,18 @@ types of HTTP responses. Like ``HttpResponse``, these subclasses live in :class:`~django.template.response.SimpleTemplateResponse`, and the ``render`` method must itself return a valid response object. +Custom response classes +~~~~~~~~~~~~~~~~~~~~~~~ + +If you find yourself needing a response class that Django doesn't provide, you +can create it with the help of :py:class:`http.HTTPStatus`. For example:: + + from http import HTTPStatus + from django.http import HttpResponse + + class HttpResponseNoContent(HttpResponse): + status_code = HTTPStatus.NO_CONTENT + ``JsonResponse`` objects ========================