Limit a view to superuser only. raise PermissionDenied.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #put it to your app/shared/decorators.py and than import when required
from django.core.exceptions import PermissionDenied
def superuser_only(function):
"""
Limit view to superusers only.
Usage:
--------------------------------------------------------------------------
@superuser_only
def my_view(request):
...
--------------------------------------------------------------------------
or in urls:
--------------------------------------------------------------------------
urlpatterns = patterns('',
(r'^foobar/(.*)', is_staff(my_view)),
)
--------------------------------------------------------------------------
"""
def _inner(request, *args, **kwargs):
if not request.user.is_superuser:
raise PermissionDenied
return function(request, *args, **kwargs)
return _inner
|
More like this
- find even number by Rajeev529 2 weeks, 1 day ago
- Form field with fixed value by roam 1 month ago
- New Snippet! by Antoliny0919 1 month, 1 week ago
- Add Toggle Switch Widget to Django Forms by OgliariNatan 4 months ago
- get_object_or_none by azwdevops 7 months, 3 weeks ago
Comments
Please login first before commenting.