Как получить пользовательские токены simpleJWT в представлениях с помощью Django?

У меня есть пользовательский сериализатор для получения токенов без пароля для пользователя:

class ObtainTokensWithoutPasswordSerializer(TokenObtainPairSerializer):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.fields['password'].required = False

    def validate(self, attrs):
        attrs.update({'password': ''})
        return super(TokenObtainPairWithoutPasswordSerializer, self).validate(attrs)

В своих представлениях я использую его следующим образом:

class ObtainTokensWithoutPasswordView(TokenViewBase):
    serializer_class = ObtainTokensWithoutPasswordSerializer

И, наконец, вот url для получения токенов:

path('token/', views.ObtainTokensWithoutPasswordView.as_view()),

Выполнение запроса к этому url возвращает токены правильно, но мне нужно получить пару токенов в другом классе в views.py. Могу ли я сделать это как-то иначе, используя мой класс serializer, например, что-то вроде этого:

class UserClass(generics.ListCreateAPIView):

  permission_classes = (AllowAny,)
  serializer_class = UserSerializer

  def post(self, request):
    ...
    tokens = ObtainTokensWithoutPasswordSerializer
Вернуться на верх