如何重写此Flask视图功能以遵循发布重定向获取模式?

如何重写此Flask视图功能以遵循发布重定向获取模式?,第1张

如何重写此Flask视图功能以遵循发布/重定向/获取模式

因此,最终,邮寄/重定向/获取模式可以防止多次提交表单数据。由于您

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验证方法,因此不会丢失无效的表单提交。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5631730.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存