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

Flask提交表单无法获取用户输入值,请问该请求代码哪里存在问题?

问题原因

你的代码核心错误是链接输入控件未放在form表单标签内部。HTML表单提交时,仅会携带<form>开始与闭合标签范围内的表单元素参数,你当前的linkHolder输入框定义在form标签外,提交POST请求时不会携带该参数,因此后端用request.form.get("linkHolder")获取到的结果为None。
另外你代码中还有两处不规范写法:

  • 提交按钮使用了错误的闭合方式:<input>是单标签,不能写</input>结束标签,要么使用<button>标签承载提交按钮文本,要么把按钮文本放到value属性中
  • 路由/button声明了支持GET请求,但没有对应GET请求的处理逻辑,直接通过GET方式访问该路由会抛出异常
修复后代码

1. index.html代码

<form method="POST" action="/button">
    <!-- 把输入控件挪到form标签内部 -->
    <input name="linkHolder" type="url" class="defaultTextBox advancedSearchTextBox link" placeholder="http://www.youtube.com">
    <!-- 修正提交按钮写法 -->
    <button class="btn" type="submit">Go</button>
</form>

2. main.py代码

@app.route('/button', methods=["GET", "POST"])
def button():
  if request.method == "POST":
    dlink = request.form.get("linkHolder")
    print(dlink)
    return render_template("index.html", dlink=dlink)
  # 补充GET请求处理逻辑,直接渲染首页
  return render_template("index.html")
验证效果

修复后在输入框填写链接点击提交,后端控制台即可正常打印输入的链接,同时页面会重载返回index页面,符合你的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 05:39:02