python - 使用补丁方法时,出现错误 : "PATCH" not allowed

标签 python django django-rest-framework

我研究 Rest 框架并遇到了一个问题:detail": "Method "PATCH"not allowed.我根据文档做所有事情。我只想更新字段:名字和密码。

观看次数

class UpdateUserSet(viewsets.ModelViewSet):
   permission_classes = (IsAuthenticated,)
   serializer_class = UserSerialize

   def partial_update(self, request, pk=None):
       return Response(status=status.HTTP_201_CREATED)

序列化

class UserSerialize(serializers.ModelSerializer):
   first_name = serializers.CharField(max_length=30)
   password = serializers.CharField(write_only=True)

   class Meta:
       model = User
       fields = ('first_name', 'password',)

路由器

router.register(r'^updateuser', views.UpdateUserSet, base_name=User)

我做错了什么?

最佳答案

您确定您的网址正确吗?在对端点进行 PATCH 或 PUT 调用时,您必须传入对象的标识符。所以不是

/api/books/

传入

/api/books/1/

关于python - 使用补丁方法时,出现错误 : "PATCH" not allowed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50040379/

相关文章:

javascript - 如何在 Django 中组织 JS 文件?

Django更新和保存异步?

Django Rest 框架形式

python - Django 休息框架 "A valid integer is required."?

python - datetime.timestamp 在 pandas apply 和 dataframe 选择中返回不同的值

python - 如何检查服务器上安装的 wxPython 版本?

Python 2.7编辑一串字符

python - 如何在 python 中关闭 ssh 隧道

python - 如何在 django 中设置 "context"类型对象

python - 将自定义用户身份验证添加到 django-rest-framework-simple-jwt