Получение информации о пользователе в Django
Я создал REST API с помощью Django, и у меня возникли проблемы с получением информации о пользователе путем вставки токена.
Я использую модель User.
Вот вид:
class getUserInfoView(APIView):
#generics.RetrieveAPIView
#authentication_classes = [authentication.TokenAuthentication]
#authentication_classes = [jwt]
#permission_classes = [permissions.IsAdminUser]
#permission_classes = (AllowAny,)
#queryset = User.objects.all()
#serializer_class = UsersListSerializer#UserSerializer
serializer_class = UserSerializer
permission_classes = [IsAuthenticated]
authentication_classes = [TokenAuthentication]
def get(self, request):
serializer = UserSerializer(data=request.user)
user = request.user
#return Response(UserSerializer(user).data)
if serializer.is_valid():
user = jwt.get_user(token=serializer.validated_data['access_token'])
if user:
return Response({
'id': user.id,
'username': user.username,
'email': user.email,
})
return Response({'detail': 'Invalid credentials'}, status=status.HTTP_401_UNAUTHORIZED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
Вот сериализатор:
class UserSerializer(serializers.Serializer):
#username = serializers.CharField(required=True)
acess_token = serializers.UUIDField()
class Meta:
model = User
fields = ["id", "username", "email"]
Вот url:
path('api/me/', getUserInfoView.as_view(), name='Personal-Information')
Проблема заключается в том, что когда я запускаю сервер, то получаю следующее:
Я понимаю, что проблема в представлении, может ли кто-нибудь объяснить, что я делаю не так?
Спасибо.
Я пробовал различные объекты View в качестве аргумента для класса, ничего не получилось.