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

Django Model Form提交后不保存不跳转,字段值写入地址栏如何解决

问题根因

你的模板文件中<form>标签未显式指定提交方法为POST,浏览器默认会以GET方式提交表单:

  • GET请求会将所有表单字段参数直接拼接在URL后,所以你会看到字段内容出现在地址栏
  • 你的视图逻辑仅对POST请求做数据校验、保存和跳转处理,GET请求不会触发对应逻辑,因此既不会存数据也不会跳转

你之前测试填全/留空字段都没有效果,是因为请求根本没有进入视图的POST处理分支,表单校验逻辑完全没有被执行,和字段是否填写无关。

修复方案

修改Templates.html中的form标签,添加method="post"属性即可:

<!-- 原错误写法 -->
<form>

<!-- 修正后写法 -->
<form method="post">

如果你的表单提交地址和当前页面路由不一致,可以额外加action属性指定提交路由,示例:

<form method="post" action="{% url 'newCustomer' %}">
<!-- 此处newCustomer替换为你urls.py中对应视图的路由name值 -->

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 03:45:07