Browse Source

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

Malcolm Tredinnick 16 years ago
parent
commit
cbe11c1982
2 changed files with 21 additions and 5 deletions
  1. 2 0
      docs/ref/request-response.txt
  2. 19 5
      docs/topics/http/views.txt

+ 2 - 0
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
 -----------------------
 

+ 19 - 5
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.