因此,最终,邮寄/重定向/获取模式可以防止多次提交表单数据。由于您POST
实际上未在进行任何数据库更改,因此您使用的方法似乎不错。通常,在模式中POST
会更改基础数据结构(例如UPDATE / INSERT / DELETE),然后在重定向时查询更新后的数据(SELECT),因此通常不需要在重定向和重定向之间存储任何内容。得到。
话虽这么说,我的处理方法是使用Flask会话对象,这是Flask为您管理的cookie。您可以执行以下操作:
@app.route('/log', methods=['GET', 'POST'])
def log():
form = LogForm()
if form.validate_on_submit():
args = parse(form)
session['log'] = getlog(*args)
return redirect(url_for('log'))
saved = session.pop('log', None)
return render_template('log.html', form=form, log=saved)
另外,要使用会话,必须在secret_key
应用程序配置中包含一组。