def change_password(self, request, *args, **kwargs):
serializer = ChangePasswordSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
data = serializer.validated_data
user = self.get_object()
if not user.is_active:
raise ValidationError('???????????? ?????????????')
if not user.check_password(serializer.validated_data['old_password']):
raise ValidationError('???????? ??????')
if data['new_password'] != data['new_password_confirm']:
raise ValidationError('????? ?????? ?? ?????????')
user.set_password(data['new_password'])
user.save()
return Response(status=status.HTTP_204_NO_CONTENT)
评论列表
文章目录