You need to enable JavaScript to run this app. Flask编辑页表单提交触发首页POST逻辑报BadRequestKeyError如何解决
优惠活动
大模型
产品
解决方案
定价
更多

Flask编辑页表单提交触发首页POST逻辑报BadRequestKeyError如何解决

问题成因

该问题的根本原因是编辑页的表单提交路径配置错误:

  • Flask的路由规则是根据HTTP请求的URL路径匹配对应的处理函数,只有请求路径为/edit/数字格式的POST请求才会进入editing函数处理
  • 你当前编辑页的<form>标签的action属性大概率被错误设置为了/(首页路径),导致编辑页的表单提交时请求直接发送到了首页路由,触发index函数的POST逻辑,而编辑页表单没有Mob字段,因此抛出KeyError

修复方案

1. 修正编辑页表单提交路径(必做)

修改编辑页HTML模板中的

标签配置,使用Flask内置的url_for函数动态生成正确的提交地址,避免手动拼写路径出错,示例代码如下:

<!-- 这里的patient_sno是你渲染编辑页时传入模板的、当前待编辑记录的sno值 -->
<form method="POST" action="{{ url_for('editing', sno=patient_sno) }}">
    <!-- 表单原有input控件保持不变 -->
</form>

2. 代码健壮性优化(可选)

你可以将路由中直接通过request.form["key"]取值的写法,改为request.form.get("key"),参数不存在时会返回None而非直接抛出400错误,后续可自行增加参数合法性判断逻辑,返回更友好的错误提示,修改示例:

# 原写法
patient_mobile_number=request.form["Mob"]
# 优化后写法
patient_mobile_number=request.form.get("Mob")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 07:36:04