如何将权限类应用于Django-Rest Framework中基于类视图中的特定方法?

StackOverflow https://stackoverflow.com//questions/22010675

  •  21-12-2019
  •  | 
  •  

我想仅适用于“put”方法不适用于“post”

class Signup(APIView):
    def post(self, request, format=None):
        something...something

    @authentication_classes((ExpiringTokenAuthentication,))
    @permission_classes((IsAuthenticated,))
    def put(self, request, format=None):
        something...something
.

有帮助吗?

解决方案

检查Permission Class has_permission方法上的HTTP方法,并在PUT PUTERS CHACE上应用您的检查:

class ExpiringTokenAuthentication(permissions.BasePermission):

    def has_permission(self, request, view):
        if request.method == 'PUT':
           # do it here


class Signup(APIView):
    permission_classes = (BlacklistPermission,)
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top