在Django Rest-Framework API中进行详细更改的配置文件。我已创建序列化文件和视图文件,但细节未保存

-2 投票
2 回答
52 浏览
提问于 2025-04-14 17:28

其实,我正在做一个项目,需要修改认证系统,这样我就可以用用户名和密码登录。我已经实现了成功登录和修改详情的功能,但还没有实现不修改详情的功能。请帮我解决这个代码问题,并给我一个代码。

我的 serializrs.py

class ProfileSerializer(serializers.ModelSerializer):
    class Meta:
        model = CustomUser
        fields = ("first_name", )

    def create(self, validated_data):
        user_id = Token.objects.get(key=validated_data.auth.key).user_id
        user = User.objects.get(id=user_id)
        first_name = validated_data.get('first_name')
        user.first_name = first_name
        user.save()
        return user

我的 views.py

class ProfileAPIView(APIView):
    serializer_class = ProfileSerializer
    permission_classes = [permissions.AllowAny]
    authentication_classes = [TokenAuthentication]

    def post(self, request):
        serializer = ProfileSerializer(data=request.data)
        if serializer.is_valid(raise_exception=True):
            return Response({"msg":"Profile Update"}, status=status.HTTP_200_OK)
        return Response(serializer.errors, status=status.HTTP_401_UNAUTHORIZED)

请解决这个序列化文件和视图文件,并给我一个代码。

2 个回答

0

在编程中,有时候我们需要处理一些数据,比如从一个地方获取数据,然后把它放到另一个地方。这就像是把水从一个杯子倒到另一个杯子一样。

有些时候,我们会遇到一些问题,比如数据的格式不对,或者我们想要的数据没有被正确地获取到。这就像是你想喝水,但杯子里却是果汁,这样你就不能直接喝了。

为了避免这些问题,我们可以使用一些工具和方法来确保我们获取到的数据是正确的,并且能够顺利地进行处理。这就像是使用一个漏斗,把果汁倒进杯子里,确保不会洒出来。

总之,处理数据的时候,要注意数据的来源和格式,这样才能确保我们得到想要的结果。

0

class updateAPIView(APIView):
    serializer_class = updateSerializer
    permission_classes = [permissions.AllowAny]
    authentication_classes = [TokenAuthentication]

    def post(self, request):
        serializer = updateSerializer(data=request.data)
        if serializer.is_valid(raise_exception=True):
            user_id = Token.objects.get(key=request.auth.key).user_id
            user = User.objects.get(id=user_id)
            first_name=serializer.data.get('first_name')
            user.first_name=first_name
            user.save()
            return Response({"msg":"Profile Update"}, status=status.HTTP_200_OK)
        return Response(serializer.errors, status=status.HTTP_401_UNAUTHORIZED)
0
class ProfileAPIView(APIView):
    serializer_class = ProfileSerializer
    permission_classes = [permissions.AllowAny]
    authentication_classes = [TokenAuthentication]

    def post(self, request):
        serializer = ProfileSerializer(data=request.data)
        if serializer.is_valid(raise_exception=True):
            user_id = Token.objects.get(key=request.auth.key).user_id
            user = User.objects.get(id=user_id)
            first_name=serializer.data.get('first_name')
            user.first_name=first_name
            user.save()
            return Response({"msg":"Profile Update"}, status=status.HTTP_200_OK)
        return Response(serializer.errors, status=status.HTTP_401_UNAUTHORIZED)

当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。

撰写回答