Как сказал Кумар, вы должны переопределить TokenObtainPairView.Позвольте мне углубиться в это:
Создайте новый classView в вашем основном приложении views.py, или, если вы хотите иметь более чистый код, вы можете создать новое приложение, например, с именем jwt_token_patched и создать представления.пи файл в нем.Теперь добавьте к нему следующий код:
class TokenObtainPairPatchedView(TokenObtainPairView):
"""
Takes a set of user credentials and returns an access and refresh JSON web
token pair to prove the authentication of those credentials.
"""
serializer_class = serializers.TokenObtainPairPatchedSerializer
token_obtain_pair = TokenObtainPairView.as_view()
Теперь для сериализатора добавьте следующее:
class TokenObtainPairPatchedSerializer(TokenObtainPairSerializer):
def to_representation(self, instance):
r = super(TokenObtainPairPatchedSerializer, self).to_representation(instance)
r.update({'user': self.user.username})
return r
Метод to_representation () вызывается, когда сериализатор возвращает данные в формате json, так что вы можете добавитьвсе, что вы хотите там.помните, я просто добавил имя пользователя в значение поля пользователя, вы можете добавить любое значение элемента пользователя, которое вы хотите в нем.
Также создайте URL для этого и теперь используйте этот метод для получения токена.Не стесняйтесь задавать любые вопросы, если хотите.надеюсь, что это было полезно :)