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
Expand Up @@ -525,6 +525,8 @@ Methods
.. _HTTP Status code: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10 .. _HTTP Status code: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10




.. _ref-httpresponse-subclasses:

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


Expand Down
24 changes: 19 additions & 5 deletions docs/topics/http/views.txt
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 errors
================ ================


Returning HTTP error codes in Django is easy. We've already mentioned the Returning HTTP error codes in Django is easy. There are subclasses of
:class:`HttpResponseNotFound`, :class:`HttpResponseForbidden`, :class:`~django.http.HttpResponse` for a number of common HTTP status codes
:class:`HttpResponseServerError`, etc., subclasses; just return an instance of one other than 200 (which means *"OK"*). You can find the full list of available
of those subclasses instead of a normal :class:`HttpResponse` in order to signify subclasses in the :ref:`request/response <ref-httpresponse-subclasses>`
an error. For example:: 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): def my_view(request):
# ... # ...
Expand All @@ -77,6 +79,18 @@ an error. For example::
else: else:
return HttpResponse('<h1>Page was found</h1>') 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 Because 404 errors are by far the most common HTTP error, there's an easier way
to handle those errors. to handle those errors.


Expand Down

0 comments on commit cbe11c1

Please sign in to comment.