如何使用 FlaskApp 将表单数据从一个页面传递到另一个页面
How To Pass Form Data from One Page To Another using FlaskApp
我有一个表格 "form.html",用户可以在其中填写姓名、地址、手机号码和图片等信息。我有三个 html 页 "info.html"、"success.html" 和 "failure.html"
我要求用户付款,所以 info.html 会显示用户填写的信息,稍后他会付款,如果付款成功,用户将被重定向到 "success.html",如果付款失败,用户将被重定向到 "failure.html"
三个页面都一样,只有一行不同,就是付款状态"pending"或"success"
我可以将用户填写的信息打印到 "info.html",但如果需要,我想在 success.html 或 failure.html 上打印相同的信息。
routes.py :
@app.route('/form', methods=['GET', 'POST'])
def form():
global onlineAppForm, data
onlineAppForm = RegForm()
name = request.form['name'].strip()
father = request.form['father_name'].strip()
mother = request.form['mother_name'].strip()
address1 = request.form['txtAddress1'].strip()
data = {'name' : name, 'father' : father, 'mother' : mother, 'address1' : address1}
return render_template("apply1.html", data=data, form=onlineAppForm)
我试过这样做,但当然行不通。那我该怎么做。
@app.route('/success')
def success():
return render_template('success.html', data=data, form=onlineAppForm)
您将必须使用 SQLAlchemy 设置数据库并创建模型。表单只是收集创建模型所需的数据。这是步骤的演练。
- 表单提交到端点
- 创建模型实例并加载表单数据
- 保存到数据库并重定向到成功页面(传递对象标识符)
- 在成功路由上查询对象并传递给模板进行渲染
我已经编写了一个示例,我相信它可以满足您的需求。不想编写模板,但我相信它应该可以工作。
http://hastebin.com/puputugune.py
另请查看 https://flask-wtf.readthedocs.io/en/latest/ 以获得更多帮助
编辑
在模板上,您可以像在视图中一样访问模型属性。
<!-- success.html -->
<ul>
<li>{{ person.id }}</li>
<li>{{ person.first_name }}</li>
<li>{{ person.last_name }}</li>
<li>{{ person.email }}</li>
</ul>
我有一个表格 "form.html",用户可以在其中填写姓名、地址、手机号码和图片等信息。我有三个 html 页 "info.html"、"success.html" 和 "failure.html"
我要求用户付款,所以 info.html 会显示用户填写的信息,稍后他会付款,如果付款成功,用户将被重定向到 "success.html",如果付款失败,用户将被重定向到 "failure.html"
三个页面都一样,只有一行不同,就是付款状态"pending"或"success"
我可以将用户填写的信息打印到 "info.html",但如果需要,我想在 success.html 或 failure.html 上打印相同的信息。
routes.py :
@app.route('/form', methods=['GET', 'POST'])
def form():
global onlineAppForm, data
onlineAppForm = RegForm()
name = request.form['name'].strip()
father = request.form['father_name'].strip()
mother = request.form['mother_name'].strip()
address1 = request.form['txtAddress1'].strip()
data = {'name' : name, 'father' : father, 'mother' : mother, 'address1' : address1}
return render_template("apply1.html", data=data, form=onlineAppForm)
我试过这样做,但当然行不通。那我该怎么做。
@app.route('/success')
def success():
return render_template('success.html', data=data, form=onlineAppForm)
您将必须使用 SQLAlchemy 设置数据库并创建模型。表单只是收集创建模型所需的数据。这是步骤的演练。
- 表单提交到端点
- 创建模型实例并加载表单数据
- 保存到数据库并重定向到成功页面(传递对象标识符)
- 在成功路由上查询对象并传递给模板进行渲染
我已经编写了一个示例,我相信它可以满足您的需求。不想编写模板,但我相信它应该可以工作。
http://hastebin.com/puputugune.py
另请查看 https://flask-wtf.readthedocs.io/en/latest/ 以获得更多帮助
编辑
在模板上,您可以像在视图中一样访问模型属性。
<!-- success.html -->
<ul>
<li>{{ person.id }}</li>
<li>{{ person.first_name }}</li>
<li>{{ person.last_name }}</li>
<li>{{ person.email }}</li>
</ul>