如何在Django Rest Framework权限类中访问url参数?

Ale*_*ler 0 python django permissions url-parameters django-rest-framework

我有一个观点:

class DealsView(APIView):
    permission_classes = (IsAuthenticated, IsOwnerOrCuratorOrDirectorOrNotAllowed, )

    def get(self, request, user_pk):
        ...
Run Code Online (Sandbox Code Playgroud)

但是为了正确检查权限,我需要将user_pk url参数传递给权限:

class IsOwnerOrCuratorOrDirectorOrNotAllowed(permissions.BasePermission):
    def has_permission(self, request, view):
        ...
Run Code Online (Sandbox Code Playgroud)

默认情况下,除了self,request和view外,它没有其他任何参数。我该怎么办?

小智 6

尝试这个:

class IsOwnerOrCuratorOrDirectorOrNotAllowed(permissions.BasePermission):
    def has_permission(self, request, view):
        user_pk = view.kwargs.get('user_pk', None)
        ...
Run Code Online (Sandbox Code Playgroud)