Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I get an access to url paramaters in django rest framework permission class?

I have a view:

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

    def get(self, request, user_pk):
        ...

But in order to check the permissions correctly I need to pass user_pk url argument to permission:

class IsOwnerOrCuratorOrDirectorOrNotAllowed(permissions.BasePermission):
    def has_permission(self, request, view):
        ...

By default it doesn't have any arguments except self, request, and view. How can I go through it?

like image 836
Alexander Shpindler Avatar asked Oct 27 '25 14:10

Alexander Shpindler


1 Answers

Try this:

class IsOwnerOrCuratorOrDirectorOrNotAllowed(permissions.BasePermission):
    def has_permission(self, request, view):
        user_pk = view.kwargs.get('user_pk', None)
        ...
like image 104
origamic Avatar answered Oct 29 '25 05:10

origamic



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!