Skip to content

Commit

Permalink
Fixed #9430 -- Fixed documentation references to the HttpResponse cla…
Browse files Browse the repository at this point in the history
…sses for

returning HTTP status codes other than 200.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@9266 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information
malcolmt committed Oct 24, 2008
1 parent 2f87035 commit cbe11c1
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 5 deletions.
2 changes: 2 additions & 0 deletions docs/ref/request-response.txt
Original file line number Diff line number Diff line change
Expand Up @@ -525,6 +525,8 @@ Methods
.. _HTTP Status code: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10


.. _ref-httpresponse-subclasses:

HttpResponse subclasses
-----------------------

Expand Down
24 changes: 19 additions & 5 deletions docs/topics/http/views.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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):
# ...
Expand All @@ -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.

Expand Down

0 comments on commit cbe11c1

Please sign in to comment.