Comment appliquer une classe de permission à une méthode particulière en vues basées sur la classe dans le cadre Django-See?

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

  •  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

Était-ce utile?

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
scroll top