您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Flask-WTF-永远不会执行validate_on_submit()

Flask-WTF-永远不会执行validate_on_submit()

您没有在HTML表单中插入CSRF字段。

<form method=post>
    {{ form.csrf_token }}
    {{ form.name }}
    <input type=submit>
</form>

添加form.csrf_token到模板(docs)后,表单将按预期验证。

print(form.errors)验证表单后添加,以查看出现的错误errors在验证之前将为空。在这种情况下,会出现有关丢失的错误

@book.route('/book/new_no_csrf', methods=['GET', 'POST'])
def customers_new_no_csrf():
    form = BookNewForm()
    print(form.errors)

    if form.is_submitted():
        print "submitted"

    if form.validate():
        print "valid"

    print(form.errors)

    if form.validate_on_submit():
        flash("Successfully created a new book")
        return redirect(url_for('.books_show'))

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



{}
submitted
{'csrf_token': [u'CSRF token missing']}
127.0.0.1 - - [29/May/2012 02:01:08] "POST /book/new_no_csrf HTTP/1.1" 200 -
127.0.0.1 - - [29/May/2012 02:01:08] "GET /favicon.ico HTTP/1.1" 404 -

我在GitHub上创建了一个示例。

Python 2022/1/1 18:33:13 有489人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶