diff --git a/docs/ref/request-response.txt b/docs/ref/request-response.txt index d8f4fe04a0..262b1276dc 100644 --- a/docs/ref/request-response.txt +++ b/docs/ref/request-response.txt @@ -525,6 +525,8 @@ Methods .. _HTTP Status code: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10 +.. _ref-httpresponse-subclasses: + HttpResponse subclasses ----------------------- diff --git a/docs/topics/http/views.txt b/docs/topics/http/views.txt index 3b981c0442..7d8743fe06 100644 --- a/docs/topics/http/views.txt +++ b/docs/topics/http/views.txt @@ -64,11 +64,13 @@ date and time. To display this view at a particular URL, you'll need to create a Returning errors ================ -Returning HTTP error codes in Django is easy. We've already mentioned the -:class:`HttpResponseNotFound`, :class:`HttpResponseForbidden`, -:class:`HttpResponseServerError`, etc., subclasses; just return an instance of one -of those subclasses instead of a normal :class:`HttpResponse` in order to signify -an error. For example:: +Returning HTTP error codes in Django is easy. There are subclasses of +:class:`~django.http.HttpResponse` for a number of common HTTP status codes +other than 200 (which means *"OK"*). You can find the full list of available +subclasses in the :ref:`request/response ` +documentation. Just return an instance of one of those subclasses instead of +a normal :class:`~django.http.HttpResponse` in order to signify an error. For +example:: def my_view(request): # ... @@ -77,6 +79,18 @@ an error. For example:: else: return HttpResponse('

Page was found

') +There isn't a specialized subclass for every possible HTTP response code, +since many of them aren't going to be that common. However, as documented in +the :class:`~django.http.HttpResponse` documentation, you can also pass the +HTTP status code into the constructor for :class:`~django.http.HttpResponse` +to create a return class for any status code you like. For example:: + + def my_view(request): + # ... + + # Return a "created" (201) response code. + return HttpResponse(status=201) + Because 404 errors are by far the most common HTTP error, there's an easier way to handle those errors.