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

Flask后端无法获取select表单提交值,返回null的问题求助

问题解决方法

错误原因

表单提交时,浏览器会使用输入控件的name属性作为参数键传递到后端,你的代码里前后端参数名不匹配:

  • 前端下拉选择框的name属性值为hero_list
  • 后端尝试从请求中获取的键为hero_id
    二者不一致导致后端找不到对应参数,request.form.get找不到键时默认返回None,序列化后就是null。

修复方案(二选一即可)

  • 方案1(修改后端逻辑):将后端取值代码的参数名和前端保持一致
    把原有代码:
hero_id = request.form.get('hero_id')

修改为:

hero_id = request.form.get('hero_list')
  • 方案2(修改前端逻辑,更推荐,语义更统一):将前端下拉框的name属性和后端参数名保持一致
    把原有代码:
<select id="hero_list" name="hero_list">

修改为:

<select id="hero_list" name="hero_id">

额外优化建议

前端模板中option的value值建议用双引号包裹,避免值存在特殊字符时出现解析异常,修改为:

<option value="{{ hero.id }}">{{ hero.localized_name }}</option>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 23:57:03