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都是这种解决方案, 各自情况大家自行具体分析对待, 好了今天文章的就先到这, 感谢您的查阅, 我们下期见♪♪♪

相关推荐
旷世奇才李先生7 小时前
Selenium 安装使用教程
selenium·测试工具
巴里巴气19 小时前
对selenium进行浏览器和驱动进行配置Windows | Linux
selenium·测试工具
旷世奇才李先生1 天前
Lua 安装使用教程
开发语言·lua
Accpdaiyekun1 天前
C# 操作mongodb 多次查询快还是使用管道查询速度快
mongodb·c#·lua
有趣的我2 天前
wireshark介绍和使用
网络·测试工具·wireshark
草履虫建模2 天前
Postman - API 调试与开发工具 - 标准使用流程
java·测试工具·spring·json·测试用例·postman·集成学习
AIZHINAN2 天前
如何评价 selenium 自动化测试框架搭建?
selenium·测试工具
快下雨了L2 天前
Lua现学现卖
开发语言·lua
WIN赢11 天前
PostMan使用
测试工具·lua·postman
多多*12 天前
计算机网络期末 网络基础概述
运维·服务器·网络·数据库·计算机网络·oracle·lua