当我刷新页面时,为什么WTForms会再次提交?

时间:2015-01-28 03:30:05

标签: python flask wtforms flask-wtforms

我创建了以下表单:

class ContentForm(Form):
    content = StringField(u'write here' , validators=[Required()])
    submit = SubmitField(u'Let them know' )    

当我提交时,事情似乎有效。但是,当我之后刷新页面时,表单会再次提交。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:5)

您需要在发出POST请求后重定向。否则,浏览器将执行您正在经历的事情(该行为与WTForms无关)。

@app.route('/my_form', methods=['GET', 'POST']
def my_form():
    form = ContentForm()

    if form.validate_on_submit():
        # do stuff
        return redirect('my_form')  # or wherever

    return render_template('my_form.html', form=form)