postman调用接口报{“detail“:“Method \“DELETE\“ not allowed.“}错误, 解决记录

项目是python代码开发, urls.py 路由中访问路径代码如下:

复制代码
urlpatterns = [
    path('reportmanagement/<int:pk>/', views.ReportManagementDetail.as_view(), name='report-management-detail'),

]

对应view视图中代码如下:

复制代码
class ReportManagementDetail(GenericAPIView):
    """报表管理:删除、修改"""
    serializer_class = ReportManagementSerializer
    queryset = ReportManagement.objects.all()

    def delete(self, request, *args, **kwargs):
        """删除报表列表

        :param: id:int
        :return:
        """
        instance = self.get_object()
        name = instance.name
        instance.delete()
        data = response_data(code=200, result=[], msg="删除成功")
        return Response(data, status=status.HTTP_200_OK)

上面代码可以看到我要执行的是一个删除操作, 使用的是python drf模型, 自己使用postman调用,界面参数如下:

会发现下面就报出了Method not allowed的错误提示信息, 经过查阅资料有说改什么windows电脑设置的, 还有在方面上面加代码说告诉postman这是一个detete请求, 还有其他的解决办法, 自己就不在此一一指出, 但当发现其他博客说的办法都不适合自己项目的情形, 然后找了之前的项目代码和使用postman调用执行delete请求的历史记录, 以及填写参数的位置, 发现了问题的症结所在, 其实处理办法很简单, 只需要去掉url传递参数的问好?和参数名=即可正常调用接口, 正常调用postman请求界面如下:

大家应该能看到, url只需填上需要删除数据的id具体对应的数值即可, 不用填写参数名=数值

原因其实也很简单, 在最上面urls.py路由代码文件中,

复制代码
path('reportmanagement/<int:pk>/', views.ReportManagementDetail.as_view(), name='report-management-detail'), python函数: reportmanagement/<int:pk>/

/<int:pk/代码已经明确告诉了我们答案, 传递的参数类型是int,然后直接填写具体数值即可

以上只贴出了最最关键部分的代码, 不包括包,路径, 各种导入的第三库等等, 只是作为一个记录, 介绍下解决这个问题的思路和办法, 不代表大家遇到Method Not Allowed都是这种解决方案, 各自情况大家自行具体分析对待, 好了今天文章的就先到这, 感谢您的查阅, 我们下期见♪♪♪

相关推荐
星星码️8 小时前
博客系统 Web 端测试报告:功能、自动化与性能
功能测试·测试工具·压力测试·模块测试·测试覆盖率
han68898 小时前
selenium之实战
笔记·python·selenium·测试工具·自动化
Madison-No714 小时前
多语言聊天大模型--测试报告
linux·git·python·selenium·jmeter·自动化·postman
.又是新的一天.15 小时前
AI接口测试03(操作数据库/管理文档/mock/自动化测试/定时任务/AI导师)
软件测试·测试工具·接口测试·apifox
Wokoo719 小时前
自动化测试入门:核心场景、回归测试与 Web 自动化环境搭建
java·开发语言·测试工具
德思特20 小时前
德思特混频器参数详解:5MHz–40GHz 宽频段与低噪声 LO 设计
测试工具·自动化·射频工程
wuyk5551 天前
《WiFi 嵌入式物联网开发全套实战》| 第 33 章 Wireshark 无线抓包环境搭建、802.11 帧过滤规则
物联网·测试工具·wireshark
二喵❥(^_-)3 天前
接口测试流程的三个核心环节
开发语言·lua