Как получить значение радиокнопки без определения нового маршрута в Flask? - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть следующий HTML код:

<form action="/Team" method="post">
    <label>Choose team:</label><br>
    <input type="radio" id="FirstTeam" name="HattrickTeams" value="{{user_data['team 1 id']}}" checked>
    <label for="FirstTeam">{{user_data['team 1 name']}}</label><br>
    <input type="radio" id="SecondTeam" name="HattrickTeams" value="{{user_data['team 2 id']}}">
    <label for="SecondTeam">{{user_data['team 2 name']}}</label><br>
    <input type="radio" id="ThirdTeam" name="HattrickTeams" value="{{user_data['team 3 id']}}">
    <label for="ThirdTeam">{{user_data['team 3 name']}}</label><br>
    <input type="submit" id="SubmitButton" value="OK">
</form>

Мне нужно получить значение выбранного радиокнопки. Я сделал это, используя следующий код:

team_id = request.form['HattrickTeams']

Проблема в том, что я не хочу использовать маршрут, как я видел в других подобных вопросах. Я хочу использовать team_id для серверных целей. Кроме того, функция, используемая в качестве декоратора маршрута, должна возвращать значение, а я этого не хочу, потому что его нет.

Как получить значение радиокнопки без использования декоратора маршрута?

1 Ответ

1 голос
/ 20 апреля 2020

Поскольку у вас уже есть route для '/Team', вы можете проверить, является ли запрос POST запросом на обработку данных из формы, например,

@app.route('/Team', methods=['GET', 'POST'])
def register():
    if flask.request.method == 'POST':
        data = flask.request.values.get('data') # retrieve data from post request
        # process data, store in database, etc.
    else:
        # render form without data, etc.

Таким образом, вы не нужно добавлять дополнительный маршрут.

...