因此,最终,邮寄/重定向/获取模式可以防止多次提交表单数据。由于您
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应用程序配置中包含一组。
Flask Session API
更新1/9/16根据ThiefMaster的评论,此处重新排列了逻辑顺序,以允许对无效的表单提交使用WTForms验证方法,因此不会丢失无效的表单提交。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)