1. 程式人生 > >django自定義許可權防止所有使用者都能進行刪除操作

django自定義許可權防止所有使用者都能進行刪除操作

場景描述:對於刪除操作等不希望所有登入使用者都能刪除,且不是使用django進行的資料控制,需要進行特殊控制

1,url檔案:

path('task-del.html', views.TaskDel.as_view(), name='task_del'),

2,views檔案:

class EcsDel(LoginRequiredMixin, PermissionRequiredMixin, View):
    permission_required = ('asset.delete_ecs',) #許可權過濾
    model = Task
    def post(self, request):
        ret = {'status': True, 'error': None, }
        nid = self.request.POST.get('nid', None)
        Task.objects.get(id=nid).delete()
        return HttpResponse(json.dumps(ret))

asset.delete_ecs:該許可權名稱代表asset應用的ecs模型的刪除許可權。可通過djiango進行許可權設定。