我正在尝试创建搜索表单以从我的Api获取一些数据,但请求表单始终返回空。我读过另一篇有类似问题的文章,但没有找到答案。
我只想从主页进行搜索,如果按下表单的按钮并包含一些内容,则显示第二页。
@app.route('/', methods=['GET', 'POST'])
def home():
print(request.form)
if 'btn_search' in request.form:
search = request.args.get('search')
print(search)
r = requests.get('http://127.0.0.1:8000/estacionesbykm/?ciudad='+search)
render_template('estacion_por_ciudad.html', estaciones=json.loads(r.text), ciudad=search)
else:
r = requests.get('http://127.0.0.1:8000/estaciones/')
return render_template('principal.html', estaciones=json.loads(r.text))
主页模板也很简单:
<h2>Search</h2>
<form method="GET">
<input name="search" type="text" placeholder="Search city">
<button name= "btn_search" type="submit">Search</button>
</form>
</body>
</html>
为什么表格一直让我空着是有特殊原因的?
我们将不胜感激。
答案 0 :(得分:1)
我假设您需要表单中的数据。当您使用GET请求时,在flask中,您应该通过此代码访问它们
request.args['key']
在处理POST请求时可以使用reequest.form[]