Django无法处理HTTP PUT/DELETE请求
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,后端API使用的框架是rest framework,前端通过GET获取列表,通过POST添加数据都没有问题但是通过DELETE方法进行删除操作的时候,有报错:奇怪,cookie里明明已经有了csrf的
千家信息网最后更新 2026年11月01日Django无法处理HTTP PUT/DELETE请求
后端API使用的框架是rest framework,前端通过GET获取列表,通过POST添加数据都没有问题
但是通过DELETE方法进行删除操作的时候,有报错:

奇怪,cookie里明明已经有了csrf的token,但是DELET方法好像就是识别不到,因而接口直接返回403
查了下资料:
因为POST请求,是将从csrftoken放在post参数中,但是django中对PUT/DELETE只能通过检查Header的方式来检查csrftoken
所以要么后端在接收PUT/DELETE请求后进行预处理,要么前端在PUT/DELETE方式增加一个Header
后端的解决方法暂时没找到好用的办法,前端处理这种情况很简单,在cookie中取csrftoken添加到请求头里即可:
export async function removeExport(params) {return request('/api/collector/', {method: 'DELETE',body: {...params,method: 'delete',},headers:{"X-CSRFToken": Cookies.get('csrftoken')}});}这样后端就可以正常拿到前端带过来的csrftoken进行认证
在使用PUT方法进行更新操作的时候,又遇到一个问题,不返回403了,改成405了
报错是PUT Method Not Allow,方法不被允许?
又检查了一下处理跨域的地方:
大部分方法基本都允许了,但是看了下stackoverflow上面,说是请求的path俩面没有给修改的id
原本请求的url http://127.0.0.1:8080/api/promMonitor/
修改了下前端请求的path http://127.0.0.1:8080/api/promMonitor/1/
居然可以了,然后前端修改一下请求参数:把需要修改的id带到path里面即可

前端
方法
检查
处理
参数
方式
时候
要么
问题
办法
原本
地方
大部分
就是
情况
接口
数据
框架
端的
说是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技企业
华服互联网科技靠谱吗
河南云网互联网络科技有限公司
科技企业和互联网企业
迪茉互联网科技
互联网科技logo
上游互联网科技
互联网科技视频素材
镁科技互联网资讯平台
恒生科技互联网指数分析
玖二柒互联网科技公司待遇
科技与互联网的利与弊
北京三清互联网科技
广州慧亚互联网科技怎么样
彤创互联网科技有限公司
宝灵互联网科技有限公司
互联网科技商业
烟台灵鸽互联网科技有限公司
华中科技大学互联网的牛人
互联网科技创新方面的资料
科技赋能下的互联网金融
互联网科技会
科技互联网技术
深圳市运趣互联网科技有限公司
南山科技园互联网公司有哪些
湖北码尼互联网科技有限公司电话
济南有互联网科技公司吗
吉林省码上互联网科技电话
互联网科技博主张洲
互联网科技企业文化