Fixed #9430 -- Fixed documentation references to the HttpResponse classes for

returning HTTP status codes other than 200.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@9266 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Malcolm Tredinnick 2008-10-24 09:24:42 +00:00
parent 2f87035aac
commit cbe11c1982
2 changed files with 21 additions and 5 deletions

View File

@ -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
----------------------- -----------------------

View File

@ -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):
# ... # ...
@ -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.