我正在使用带有Python 3.6的Flask 0.12创建一个简单的应用程序,当单击提交按钮时,该应用程序将在另一个页面中显示所选项目。
主要的Flask应用程序位于app.py
中:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/result', methods=['POST'])
def result():
return render_template('result.html')
这使用Bootstrap呈现以下网页:
<h1>Example Page</h1>
<p>Choose the options in the form below then submit your selections.</p>
<form action="">
<div class="form-group">
<label for="vehicle">Vehicle</label>
<select id="vehicle" class="form-control">
<option>truck</option>
<option>car</option>
<option>van</option>
</select>
</div>
<div class="form-group">
<label for="year">Year</label>
<select id="year" class="form-control">
<option>1972</option>
<option>1999</option>
<option>2010</option>
</select>
</div>
</form>
<br>
<button type="submit" class="btn btn-default">Submit</button>
如果点击提交按钮,如何让Flask在我的results.html
模板中显示所选项?
答案 0 :(得分:3)
您必须在表单中进行一些更改才能在结果页面中显示。
您必须在表单中添加操作网址和方法
<form action="/result" method="post">
在选择字段中添加名称
<select id="vehicle" class="form-control" name="vehicle">
<select id="year" class="form-control" name="year">
使用flask请求获取表单值
from flask import request
# inside your POST view
vehicle = request.form.get('vehicle')
year = request.form.get('year')
return render_template('result.html', vehicle=vehicle, year=year)
最后在你的结果html页面添加这些......
{{ vehicle }} {{ year }}