首页 > 解决方案 > CreateAPIView 错误:必须实现`create()`

问题描述

我的代码:serializers.py:

class AuthenticationSerializer(serializers.Serializer):
    email = serializers.CharField(max_length=255)
    password = serializers.CharField(max_length=128, write_only=True)
    def validate(self, data):
        email = data.get('email')
        password = data.get('password')
        user = User.objects.get(email=email, password=password)
        if user is None:
            raise serializers.ValidationError(
                'A user with this email and password was not found.'+ ' ' + email + ' ' + password
            )
        return  {
            'email': user.email,
            'username': user.username,
        }

视图.py:

class Authentication(CreateAPIView):
    serializer_class = AuthenticationSerializer
    def authentication(request):
        user = request.data.get('user', {})
        serializer = self.serializer_class(data=user)
        serializer.is_valid(raise_exception=True)
        return user, Response(serializer.data, status=status.HTTP_200_OK)

我需要创建身份验证并在给用户 JWTToken 之后,但我无法进行身份验证。我正在使用这个库 2 天。可能是因为我正在使用CreateAPIView?但是我可以用什么来代替 CreateAPIView?

标签: python-3.xdjangodjango-rest-framework

解决方案


推荐阅读