首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >表单验证失败时重定向(Flask-WTForms)

表单验证失败时重定向(Flask-WTForms)
EN

Stack Overflow用户
提问于 2017-06-25 09:40:17
回答 1查看 729关注 0票数 5

我正在尝试使用Flask-WTF创建一个新表单,并将其添加到最近继承的Flask应用程序中。我对Flask生态系统相当陌生(对WTForms来说完全是新的),而且我已经四年没有做过任何web开发了。

Flask-WTF文档中的示例代码在表单验证失败时呈现页面,而不是重定向(Post/Redirect/Get)。在这一点上,浏览器刷新将重新提交上一篇文章。这可不妙,对吧?虽然大多数人似乎没有注意到这种情况,但我确实看到一些人认为这是应该避免的(例如herehere)。

那么我如何在使用Flask-WTF时避免这个问题呢?如果我重定向到验证失败,我想我失去了在每个字段上显示验证错误的能力。或者也许我不应该担心这种情况?

EN

回答 1

Stack Overflow用户

发布于 2017-06-25 16:34:19

我个人从来不觉得这是个问题。我使用带有Flask-BootstrapFlask-WTF,它会在验证失败时为我突出显示表单字段错误。如果他们尝试重新提交表单,它将再次失败,并且永远不会达到数据库级别,因此您不必担心Post/Redirect/Get试图解决的问题。

代码语言:javascript
复制
@app.route('/', methods=['GET', 'POST'])
def index():
    form = MyForm()
    if form.validate_on_submit():
        # add/update db. if form is invalid you never get here
        return redirect(url_for('success'))
    return render_template('index.html', form=form)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44742438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档