Форма запроса flask пуста в запросе GET - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь создать форму поиска, чтобы получить некоторые данные из моего 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 Ответ

1 голос
/ 09 мая 2020

Я предполагаю, что вам нужны данные из формы. Поскольку вы используете запрос GET, в flask вы должны получить к ним доступ с помощью этого кода

request.args['key']

Вы можете использовать reequest.form[] при обработке запроса POST

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...