Django @permission_required装饰器无法在基于函数的视图中工作

时间:2019-06-29 10:10:38

标签: django permissions user-permissions

我试图授予用户权限,使其可以执行除删除操作之外的所有操作。他具有查看权限

这是我的功能

@login_required(login_url='loginPage')
@permission_required('excel_data.view_exceldata', raise_exception=True)
def viewExcel(request):
    excelInfo = ExcelData.objects.filter(deleted=0).order_by('-pk')
    return render(request, 'excelData.html', {'excelInfo': excelInfo})

这是我的 auth_permission 数据库表视图 enter image description here

这是我的 auth_user_user_permissions 表视图

enter image description here

这是我的 add_permission 功能

def add_permission(request):
    user = User.objects.create_user(
            username=request.POST.get('username'),
            email=request.POST.get('email'),
            password=request.POST.get('password'),
            is_staff=1,
            is_superuser=0,
        )
    permission = Permission.objects.get(name='Can view excel data')
    user.user_permissions.add(permission)
    user.save()

在我的 auth_user 表中

  

is_superuser = 0,is_staff = 1,is_active = 1

当我尝试查看该页面时,我发现 403禁止访问

0 个答案:

没有答案