django 中的 @permission-required 参数

@permission-required argument in django

在 Django 项目中,我想将某些 views 的查看限制为管理员(request.user.is_superuserTrue 的用户) 我知道我必须在该视图之前使用 @permission_required(...),但是这样做的理由是什么?

超级用户不受权限处理,它们仅由 is_superuser 字段处理。您可以使用 @user_passes_test 装饰器:

from django.contrib.auth.decorators import user_passes_test

@user_passes_test(lambda u: u.is_active and u.is_superuser)
def my_view(request):
    ...