Я пытаюсь вызвать исключение 400, когда пользователь не предоставляет токен или когда токен недействителен, мой код ниже:
это мой файл exceptions.py:
from rest_framework.exceptions import APIException, PermissionDenied
class MissingTokenException(APIException):
status_code = 400
default_detail = 'Your request does not contain token'
default_code = 'no_token'
class InvalidTokenException(APIException):
status_code = 400
default_detail = 'Your request contain invalid token'
default_code = 'invalid_token'
это мой файл views.py:
class ListProductsOfCategory(generics.ListAPIView):
serializer_class = ProductSerializer
lookup_url_kwarg = 'category_id'
def dispatch(self, *args, **kwargs):
token = self.request.META.get("HTTP_TOKEN", "")
if not token:
# here I wan to raise an error saying that no token provided.
raise MissingTokenException
if not UserAccess.objects.filter(accessToken=token).exists():
# here I wan to raise an error saying that token provided is not valid.
raise InvalidTokenException
return super().dispatch(*args, **kwargs)
def get_queryset(self):
category_id = self.kwargs.get(self.lookup_url_kwarg)
return Product.objects.filter(category_id=category_id)
Я использую почтальон для проверки своих API:
пожалуйста, если кто-нибудь может помочь, я новичок в django и python.