我有一个表单“form.html”,用户可以填写他的信息,如姓名,地址,手机号码和图片。我有三个html页面“info.html”,“success.html”和“failure.html”
我要求用户付款,以便info.html显示用户填写的信息,之后如果付款成功,他将付款,用户将被重定向到“success.html”,如果付款失败,用户将被重定向到“failure.html”
所有三个页面都相同,只有一行不同,即付款状态为“待定”或“成功”
我可以将用户填写的信息打印到“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)
答案 0 :(得分:0)
您将不得不使用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>