You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django UpdateView提交后对象未保存且success_url未生效问题排查

问题原因

核心问题出在模板的表单配置错误,Django通用编辑视图(包括UpdateView)仅会处理POST类型的表单提交请求,你当前的表单未指定提交方法,浏览器默认用GET方式提交,所以只会重新加载表单页,不会触发保存和跳转逻辑。

修复方案

修改模板中的<form>标签,明确添加method="post"属性,也可以补充action属性指定提交地址避免路由匹配偏差:

<!-- 修改前 -->
<form class="form-group">
<!-- 修改后 -->
<form class="form-group" method="post" action="{% url 'gradebook:classupdate' object.pk %}">

额外排查点(修改后仍有问题可逐一核查)

  • 检查success_url对应的路由gradebook:classroom是否真实存在,避免跳转时出现无感知的404
  • 如果修改的班级名称和当前用户下已有的其他班级名称重复,会触发模型里的联合唯一约束,你可以在模板中添加{{ form.errors }}打印表单错误信息排查
  • 确认当前登录用户是对应班级的关联user,避免自定义权限逻辑拦截请求

内容的提问来源于stack exchange,提问作者Doug Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 16:24:03