📜  django staff_member_required 装饰器 - Python (1)

📅  最后修改于: 2023-12-03 15:30:29.351000             🧑  作者: Mango

Django staff_member_required 装饰器

介绍

Django staff_member_required 是 Django 框架自带的装饰器之一,用于限制只有 staff 成员才能访问特定的视图函数或视图类。staff 成员是指被授权允许访问后台管理界面的用户。

在 Django 中,默认情况下,只有 superuser 才能访问后台管理界面。而使用 staff_member_required 装饰器后,则可以让除 superuser 之外的 staff 成员也拥有访问后台管理界面的权限。

用法
  1. 引入 staff_member_required 装饰器:
from django.contrib.admin.views.decorators import staff_member_required
  1. 在视图函数或视图类上添加装饰器:
@staff_member_required
def my_view(request):
    # ...

@method_decorator(staff_member_required, name='dispatch')
class MyView(View):
    # ...
参数

staff_member_required 装饰器有两个可选参数:

  • login_url:当用户没有登录时,将会重定向到此 URL。默认为 settings.LOGIN_URL。
  • raise_exception:如果为 True,将会抛出 PermissionDenied 异常。默认为 False,会重定向到 login_url。
示例
from django.contrib.admin.views.decorators import staff_member_required
from django.http import HttpResponse

@staff_member_required
def my_view(request):
    return HttpResponse('Hello, staff member!')
参考资料