Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

[1.0.X] Fixed #9430 -- Fixed documentation references to the HttpResp…

…onse

classes for returning HTTP status codes other than 200.

Backport of r9266 from trunk.


git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.0.X@9269 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 8613e6c53efe40f77e03541d56f68d0f583bcbdc 1 parent 122c1a9
@malcolmt malcolmt authored
Showing with 21 additions and 5 deletions.
  1. +2 −0  docs/ref/request-response.txt
  2. +19 −5 docs/topics/http/views.txt
View
2  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
-----------------------
View
24 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 <ref-httpresponse-subclasses>`
+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('<h1>Page was found</h1>')
+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.
Please sign in to comment.
Something went wrong with that request. Please try again.