Comment appliquer une classe de permission à une méthode particulière en vues basées sur la classe dans le cadre Django-See?
-
21-12-2019 - |
Question
Je veux appliquer la permission uniquement pour "Mettre" la méthode de "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
La solution
Vérifiez la méthode HTTP sur la méthode de votre classement de classe d'autorisations et appliquez vos chèques s'il a été mis:
class ExpiringTokenAuthentication(permissions.BasePermission):
def has_permission(self, request, view):
if request.method == 'PUT':
# do it here
class Signup(APIView):
permission_classes = (BlacklistPermission,)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow