我在Flask中有一个虚拟项目,它包含一个Web表单,您可以在其中填写3个城市,然后打印出来。 这是我的 init .py文件:
@app.route('/average_temperatures/<city1>/<city2>/<city3>', methods=['POST', 'GET'])
def results_temperature(city1, city2, city3):
return "The cities are: {}, {}, {}".format(city1, city2, city3)
该函数有效,但我无法将表单中的变量直接传递给函数,作为参数。
修改:
我的目标是将城市变量作为URL的一部分以干净的形式/ city1 / city2 / city3。
这是表格:
<div class="input-group">
<form action="{{ url_for('results_temperature', city1=city1, city2=city2, city3=city3) }}" method="POST">
<input type="text" class="form-control" placeholder="City 1" name="city1"></input>
<input type="text" class="form-control" placeholder="City 2" name="city2"></input>
<input type="text" class="form-control" placeholder="City 3" name="city3"></input>
<div class="row" style="margin-bottom: 20px;"></div>
填写表单会产生一个网址
所以我显然无法传递表单操作部分中的表单字段。 任何点击都会受到赞赏,欢呼。
答案 0 :(得分:0)
您应该从request.form变量中获取城市。
@app.route('/average_temperatures', methods=['POST', 'GET'])
def results_temperature():
return "The cities are: {}, {}, {}".format(request.form['city1'], request.form['city2'], request.form['city3'])
在您的HTML表单中:
<form action="{{ url_for('results_temperature') }}" method="POST">
<input type="text" class="form-control" placeholder="City 1" name="city1"></input>
<input type="text" class="form-control" placeholder="City 2" name="city2"></input>
<input type="text" class="form-control" placeholder="City 3" name="city3"></input>
</form>