请求表格烧瓶在GET请求中为空

时间:2020-05-09 02:36:06

标签: python python-3.x flask request frontend

我正在尝试创建搜索表单以从我的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>

为什么表格一直让我空着是有特殊原因的?

我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

我假设您需要表单中的数据。当您使用GET请求时,在flask中,您应该通过此代码访问它们

request.args['key']

在处理POST请求时可以使用reequest.form[]