如何将权限类应用于Django-Rest Framework中基于类视图中的特定方法?
-
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,)
. 不隶属于 StackOverflow