[1.5.X] Fixed #19230 -- Extended the handler403 documentation.

Backport of 0546794397 from master.

Added a paragraph on how to use the PermissionDenied exception to create a 403
response and use handler403.
This commit is contained in:
Markus Zapke-Gründemann 2012-11-03 17:04:53 +01:00 committed by Florian Apolloner
parent b99707bded
commit 4b2fb7efea
1 changed files with 11 additions and 0 deletions

View File

@ -209,6 +209,17 @@ This view loads and renders the template ``403.html`` in your root template
directory, or if this file does not exist, instead serves the text directory, or if this file does not exist, instead serves the text
"403 Forbidden", as per :rfc:`2616` (the HTTP 1.1 Specification). "403 Forbidden", as per :rfc:`2616` (the HTTP 1.1 Specification).
``django.views.defaults.permission_denied`` is triggered by a
:exc:`~django.core.exceptions.PermissionDenied` exception. To deny access in a
view you can use code like this::
from django.core.exceptions import PermissionDenied
def edit(request, pk):
if not request.user.is_staff:
raise PermissionDenied
# ...
It is possible to override ``django.views.defaults.permission_denied`` in the It is possible to override ``django.views.defaults.permission_denied`` in the
same way you can for the 404 and 500 views by specifying a ``handler403`` in same way you can for the 404 and 500 views by specifying a ``handler403`` in
your URLconf:: your URLconf::