实际上,我正在做一个项目,我必须修改身份验证系统,以便我能够使用用户名和密码登录。我已成功登录,并且已更改详细信息,但未更改详细信息。请解决此代码并给我一个代码。
我的
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)
解决这个序列化文件并查看文件并给我一个代码。
试试这个,
'views.py'
类 ProfileAPIView(APIView): 序列化器类 = ProfileSerializer 权限类 = [权限.AllowAny] 身份验证类 = [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)'''
'序列化器.py'
ProfileSerializer 类(serializers.ModelSerializer): 类元: 模型 = 自定义用户 字段=(“名字”,)