您没有在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上创建了一个示例。



