I am trying to write a login view in django restframe work to authenticate a user into the application but each time I send a request to the server I keep getting this error
`{ 'email': ['email already exist'] }``
here is how I wrote my login serializer
class UserLoginSerializer(serializers.ModelSerializer):
full_name: str = serializers.CharField(source='get_name', read_only=True)
tokens: str = serializers.CharField(source='get_token', read_only=True)
class Meta:
model = User
fields = (
'id',
'full_name',
'email',
'password',
'is_superuser',
'is_seller',
'created_at',
'profile_pic',
'tokens'
)
extra_kwargs = {
'password' : {'write_only':True, 'required': True},
'id': {'read_only': True},
'is_superuser': {'read_only': True},
'is_seller': {'read_only': True},
'created_at': {'read_only': True},
'profile_pic': {'read_only': True}
}
def validate(self, data: dict) -> dict:
email: str = data.get('email', '')
password: str = data.get('password', '')
print(password, email)
user: auth = auth.authenticate(email=email, password=password)
print(user)
data = {
'email': user.email,
'tokens': user.get_token()
}
return data
and here is how I wrote my loginapiview
class UserLoginAPIView(generics.GenericAPIView):
serializer_class = UserLoginSerializer
def post(self, request):
serializer = self.serializer_class(data=request.data)
serializer.is_valid(raise_exception=True)
return Response(serializer.data, status=status.HTTP_200_OK)