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

相关推荐
霍格沃兹测试学院-小舟畅学10 小时前
UI 测试的语义断言:Midscene aiAssert 比像素比对稳在哪、又会骗在哪
人工智能·测试工具
zuozewei12 小时前
附录 A:主流工具对比选型表
人工智能·测试工具
我的xiaodoujiao12 小时前
Django 基础知识详细图文教程 10-Django 模板引擎 3
后端·python·测试工具·django
霍格沃兹测试学院-小舟畅学14 小时前
Google 开源 ARTEMIS:AI Agent 如何接管 Android 真机测试?
人工智能·测试工具
Liaiyang6614 小时前
# 自研 AST 容错初筛工具:横向评测 Django、PyTorch、TensorFlow 三大开源 Python 框架异常收容风险
python·测试工具·自动化·开源软件·代码规范·devops·代码复审
霍格沃兹测试学院-小舟畅学16 小时前
我用 AI 把 Swagger 变成 500 条 pytest 用例,回归从 3 天到 3 小时
人工智能·测试工具
奔跑中的小象1 天前
GuideLLM 压测实战指南:给大模型推理服务做一次完整 SLA 评估
测试工具·guidellm
liulilittle2 天前
麻将结算全链路语义(SETTLE_SEMANTICS)
ai·自动化·llm·mock·lua·测试
Madison-No72 天前
基于JMeter工具的性能测试(接口)
python·jmeter·postman
cpolar技术支持2 天前
本地 Playwright 测试报告怎么远程复盘?Trace Viewer 跑起来后,用 cpolar 分享失败现场
前端·自动化测试·测试工具·cpolar·playwright