From 9f1ec9efc35bbb375c9cebb3e0d8c1b7be838338 Mon Sep 17 00:00:00 2001 From: Baptiste Mispelon Date: Fri, 22 Nov 2019 21:50:11 +0100 Subject: [PATCH] Fixed #28469 -- Doc'd how to create a custom HttpResponse subclass. --- 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 e7b285b0863..a7e73ba1f51 100644 --- a/docs/ref/request-response.txt +++ b/docs/ref/request-response.txt @@ -766,6 +766,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. @@ -969,6 +971,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 ========================