Check_token в методе PUT не работает DRF

Итак, у меня есть представление, которое отправляет новому пользователю письмо с подтверждением для активации с помощью uid и токена. Эта часть работает нормально. Когда пользователь нажимает на ссылку, он должен отправить PUT в мой ActivateUserAPI, где он берет 'uid' и 'token' из url и устанавливает email_confirmed = True, но это не проходит мимо функции djangos check_token

url:

path('api/auth/activate/<path:uid>/<path:token>',
     ActivateUserAPI.as_view(), name='activate'),

serializer:

class ActivationSerializer(serializers.ModelSerializer)
class Meta:
    model = User
    fields = ('id', 'email_confirmed',)

view:

class ActivateUserAPI(generics.UpdateAPIView):
serializer_class = ActivationSerializer

permission_classes = [
    permissions.AllowAny
]

def put(self, request, *args, **kwargs):
    token = self.kwargs['token']
    try:
        uid = force_str(urlsafe_base64_decode(self.kwargs['uid']))
        user = User.objects.get(pk=uid)

    except(TypeError, ValueError, OverflowError, User.DoesNotExist):
        user = None

    if user is not None and account_activation_token.check_token(user, token):
        serializer = ActivationSerializer(user, data=request.data)
        if serializer.is_valid():
            user.email_confirmed = True
            user.save()
            return Response(serializer.data)

        return HttpResponse('Thank you for your email confirmation. Now you can login your account.')
    else:
        return HttpResponse('Activation link is invalid!')

Странно то, что если я обращаюсь к api напрямую через url, он работает нормально, как в ссылке ниже

Вид DRF

Вернуться на верх