未在drf中进行身份验证

ddhy6vgd  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(198)

我想用电子邮件和密码登录。但是身份验证没有发生。看看密码。

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)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题