Как применить класс разрешений к определенному методу в классовых представлениях в рамках Django-Read?
-
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
. Решение
Проверьте метод HTTP в вашем методе has_permission
класса разрешений и примените свои проверки, если он был поставлен:
class ExpiringTokenAuthentication(permissions.BasePermission):
def has_permission(self, request, view):
if request.method == 'PUT':
# do it here
class Signup(APIView):
permission_classes = (BlacklistPermission,)
. Не связан с StackOverflow