Как ответить на форму колбы с такой же формы - PullRequest
0 голосов
/ 30 сентября 2019

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

werkzeug.exceptions.BadRequestKeyError: 400 Bad Request: The browser (or proxy) sent a request that this server could not understand.
KeyError: 'name_0'

Этого не происходит при первой отправке. Если бы мне пришлось угадывать, это было бы потому, что при первой отправке формы это свежая копия, но когда я пытаюсь обработать ее во второй раз, она все равно как-то привязана к первой форме.

Вот упрощенная версия кода, который я использовал

def session():
    form = RatingForm(request.form)

    # first time form is submitted
    if request.method == 'GET':

        query_0 = request.args.get('exp_0')
        query_1 = request.args.get('exp_1')

        # SOME APPLICATION LOGIC 

        return render_template('results.html', session_id=session.id, \
                data=data[0:5], badges=badges, form=form)

    # subsequent times a form is served
    elif request.method == 'POST':

        name_0 = request.form['name_0']
        name_1 = request.form['name_1']
        session_id = request.form['session_id']

        if not form.validate():
            return "Input not properly validated.", 400

        # SOME APPLICATION LOGIC 

        return render_template('results.html', session_id=session_id, \
                data=data[0:5], badges=badges, form=form)

...