Flask表单页面无响应:提交后未显示指定反馈内容
Flask表单提交无响应问题修复方案
代码中的核心问题:
- Flask实例初始化拼写错误:
ap Flask(__name__)应改为app = Flask(__name__) - POST请求分支缺少返回逻辑:处理完用户输入后,没有返回任何页面或响应内容
- 模板参数传递错误:不能用
.format()给render_template传参,需直接使用关键字参数 - 单词拼写错误:
submiting修正为submitting
修复后的完整代码
# 导入Flask模块 from flask import Flask, render_template, request, url_for app = Flask(__name__) @app.route("/") def home(): return render_template('home.html') @app.route("/teams") def teams(): return render_template('teams.html') @app.route("/form", methods = ['GET','POST']) def form(): if request.method == "POST" and request.form.get('submit'): input_string = request.form.get('name') feedback = f"Hello {input_string}\nThank you for submitting!!" # 两种实现方式二选一: # 1. 在原表单页面显示反馈 return render_template('form.html', feedback=feedback) # 2. 跳转到单独的展示页面(需提前创建result.html模板) # return render_template('result.html', feedback=feedback) else: # GET请求时返回空反馈的表单页面 return render_template('form.html', feedback="")
模板配套修改
如果选择在原表单页面显示反馈,form.html需添加反馈展示区域:
<form method="POST"> <input type="text" name="name" placeholder="输入内容"> <button type="submit" name="submit">提交</button> </form> {% if feedback %} <div>{{ feedback }}</div> {% endif %}
如果选择跳转单独展示页面,创建result.html:
<h1>{{ feedback }}</h1> <a href="{{ url_for('form') }}">返回表单</a>
内容的提问来源于stack exchange,提问作者bglowsa
相关产品推荐
相关产品推荐

