如何用相同的形式回应烧瓶形式

时间:2019-09-30 17:55:02

标签: python forms flask backend flask-wtforms

我正在尝试开发一个网站,用户在其中响应表单,然后网站处理该表单,然后以相同表单的新版本进行响应。由于某些原因,我第二次尝试提交表单时遇到以下错误:

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)

0 个答案:

没有答案
相关问题