Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django Rest:删除/resource/_Python_Django_Django Rest Framework - Fatal编程技术网

Python Django Rest:删除/resource/

Python Django Rest:删除/resource/,python,django,django-rest-framework,Python,Django,Django Rest Framework,有谁能告诉我们如何在资源中为DELETE设置最佳路径 通常,如果我使用GenericAPIView,我可以继承mixin.DestroyModelMixin 示例: 然后我可以为删除设置端点/resource/{id} Q:如何为删除/resource/创建端点 谢谢 如您所述,只需将DestroyModelMixin添加到详细视图中即可。然后删除具有以下请求的资源: curl -X DELETE "http://127.0.0.1:8000/resouce/1/" 有关DELETEhttp方

有谁能告诉我们如何在资源中为
DELETE
设置最佳路径

通常,如果我使用
GenericAPIView
,我可以继承
mixin.DestroyModelMixin

示例

然后我可以为
删除
设置端点
/resource/{id}

Q:如何为
删除
/resource/
创建端点


谢谢

如您所述,只需将
DestroyModelMixin
添加到详细视图中即可。然后删除具有以下请求的资源:

curl -X DELETE "http://127.0.0.1:8000/resouce/1/"
有关
DELETE
http方法的更多信息

删除很容易理解。它用于删除a 由URI标识的资源

成功删除后,返回HTTP状态200(OK)以及 响应体,可能是已删除项的表示(通常为 需要太多的带宽)或包装响应(请参阅返回值) 下)。或者返回HTTP状态204(无内容),但没有 响应机构。换句话说,没有尸体的204状态,或者 建议使用JSEND样式的响应和HTTP状态200 答复

就HTTP规范而言,删除操作是幂等的。如果删除 资源,它被删除了。反复调用该资源上的DELETE 结果是一样的:资源消失了。如果你打电话说, 递减计数器(在资源内),删除调用为否 长幂等元。如前所述,使用统计和 测量值可能会在考虑服务的同时更新 只要不更改资源数据,则为幂等。利用邮政 建议使用非幂等资源请求

然而,关于删除幂等性有一个警告。正在调用删除 资源第二次使用时通常会返回404(未找到),因为 已删除,因此无法再查找。有人说 意见,使删除操作不再是幂等的,但是 资源的结束状态相同。返回404是可以接受的 并准确地传达通话状态

示例:

  • 删除
  • 删除
  • 删除

找到了这样做的方法。在ViewSet类中添加delete()方法,例如

Class MyViewSet(GenericViewSet):
    def delete(self, request, *args, **kwargs):
      ...
然后我可以做:

curl -X DELETE "http://127.0.0.1:8000/resouce/"

我想做的是为:*创建一个端点,不要删除具有{id}的特定资源