diff --git a/docs/ref/urls.txt b/docs/ref/urls.txt index c54b1e4cab..3420a41be4 100644 --- a/docs/ref/urls.txt +++ b/docs/ref/urls.txt @@ -94,8 +94,9 @@ A callable, or a string representing the full Python import path to the view that should be called if the HTTP client has sent a request that caused an error condition and a response with a status code of 400. -By default, this is ``'django.views.defaults.bad_request'``. That default -value should suffice. +By default, this is ``'django.views.defaults.bad_request'``. If you +implement a custom view, be sure it returns an +:class:`~django.http.HttpResponseBadRequest`. See the documentation about :ref:`the 400 (bad request) view ` for more information. @@ -109,8 +110,9 @@ A callable, or a string representing the full Python import path to the view that should be called if the user doesn't have the permissions required to access a resource. -By default, this is ``'django.views.defaults.permission_denied'``. That default -value should suffice. +By default, this is ``'django.views.defaults.permission_denied'``. If you +implement a custom view, be sure it returns an +:class:`~django.http.HttpResponseForbidden`. See the documentation about :ref:`the 403 (HTTP Forbidden) view ` for more information. @@ -123,8 +125,9 @@ handler404 A callable, or a string representing the full Python import path to the view that should be called if none of the URL patterns match. -By default, this is ``'django.views.defaults.page_not_found'``. That default -value should suffice. +By default, this is ``'django.views.defaults.page_not_found'``. If you +implement a custom view, be sure it returns an +:class:`~django.http.HttpResponseNotFound`. See the documentation about :ref:`the 404 (HTTP Not Found) view ` for more information. @@ -138,8 +141,9 @@ A callable, or a string representing the full Python import path to the view that should be called in case of server errors. Server errors happen when you have runtime errors in view code. -By default, this is ``'django.views.defaults.server_error'``. That default -value should suffice. +By default, this is ``'django.views.defaults.server_error'``. If you +implement a custom view, be sure it returns an +:class:`~django.http.HttpResponseServerError`. See the documentation about :ref:`the 500 (HTTP Internal Server Error) view ` for more information. diff --git a/docs/releases/1.9.txt b/docs/releases/1.9.txt index c01ca94ec4..35c673b4f1 100644 --- a/docs/releases/1.9.txt +++ b/docs/releases/1.9.txt @@ -1147,6 +1147,12 @@ Miscellaneous * ``ForeignRelatedObjectsDescriptor`` is ``ReverseManyToOneDescriptor`` * ``ManyRelatedObjectsDescriptor`` is ``ManyToManyDescriptor`` +* If you implement a custom :data:`~django.conf.urls.handler404` view, it must + return a response with an HTTP 404 status code. Use + :class:`~django.http.HttpResponseNotFound` or pass ``status=404`` to the + :class:`~django.http.HttpResponse`. Otherwise, :setting:`APPEND_SLASH` won't + work correctly with ``DEBUG=False``. + .. _deprecated-features-1.9: Features deprecated in 1.9