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

在Django中为什么我的表单提交按钮返回的不是POST请求?

问题原因

核心错误是form标签的提交方法属性写错:

  • form标签用于指定HTTP请求方法的属性是method,你代码中使用的type不是form标签的合法属性,浏览器无法识别到你要使用POST提交,就会启用表单默认的GET方法发起请求。

修复方案

把form标签的type="POST"替换为method="POST"即可,修改后的完整代码如下:

<body>
<form action="/reset" method="POST">
    {% csrf_token %}
    <h3>Random Word (attempt # {{request.session.counter}})</h3>
    <div>
        <h1>{{request.session.rword}}</h1>
    </div>
    <label for="title">Title</label>
        <input type="text" name="title" id="">
    <button type="submit">Generate</button>
</form>

其他排查方向(修改后仍有问题可排查)

  • 检查是否有前端JavaScript代码拦截了表单的submit事件,手动修改了请求方法为GET
  • 检查服务端是否存在重定向规则,将POST请求通过301/302状态码重定向为了GET请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 09:45:05