我想用电子邮件和密码登录。但是身份验证没有发生。看看密码。
class LoginSerializer(serializers.Serializer):
email = serializers.CharField(max_length=50)
password = serializers.CharField(max_length=50)
def validate(self, data):
email = data.get("email")
password = data.get("password")
if email and password:
user = authenticate(username=email, password=password)
print(user)
if user:
data['user'] = user
print(user.id)
else:
msg = 'login failed'
raise exceptions.ValidationError(msg)
else:
msg = 'provide credientials'
raise exceptions.ValidationError(msg)
return data
意见。
class LoginView(APIView):
def post(self, request):
serializer = TokenObtainSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
user = serializer.validated_data['user']
djangologin(request, user)
token, created = Token.objects.get_or_create(user=user)
return Response({'message':'You have successfully Logged in.','user':user.id,'token': token.key}, status=200)
暂无答案!
目前还没有任何答案,快来回答吧!