在Django Rest-Framework API中进行详细更改的配置文件。我已创建序列化文件和视图文件,但细节未保存
其实,我正在做一个项目,需要修改认证系统,这样我就可以用用户名和密码登录。我已经实现了成功登录和修改详情的功能,但还没有实现不修改详情的功能。请帮我解决这个代码问题,并给我一个代码。
我的 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)
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。