summaryrefslogtreecommitdiff
path: root/docs/topics
diff options
context:
space:
mode:
Diffstat (limited to 'docs/topics')
-rw-r--r--docs/topics/http/views.txt11
1 files changed, 11 insertions, 0 deletions
diff --git a/docs/topics/http/views.txt b/docs/topics/http/views.txt
index 7c4d1bbb6e..caa2882f37 100644
--- a/docs/topics/http/views.txt
+++ b/docs/topics/http/views.txt
@@ -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
"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
same way you can for the 404 and 500 views by specifying a ``handler403`` in
your URLconf::