error looks something just like this KeyError: 'user' while i try to login every time this error message is shown.I have installed the Django Rest Framework .What's the best way to do a login using Rest Framework?
my views
class LoginAPIView(APIView):
def post(self, request):
serializer = LoginSerializers(data=request.data)
serializer.is_valid(raise_exception=True)
user = serializer.validated_data['user']
login(request, user)
token, created = Token.objects.get_or_create(user=user)
return Response({"status": status.HTTP_200_OK, "Token": token.key})
my serializers
class LoginSerializers(serializers.Serializer):
class Meta:
model = User
email = serializers.CharField(max_length=255)
password = serializers.CharField(max_length=128, write_only=True)
def validate(self, data):
email = data.get('email', None)
password = data.get('password', None)
if email and password:
user = authenticate(username=email, password=password)
if user:
data['user'] = user
data['user'] = user
return data
return userinvalidate?userisNone. Apart from that, it should work. If you can only login for the superuser, maybe you should check how you create users.