Ich bin mit Flask-WTF:Flask-WTF - validate_on_submit() wird nie
Hier ist meine Form ist:
from flask.ext.wtf import Form, TextField
class BookNewForm(Form):
name = TextField('Name')
ist die Steuerung:
@book.route('/book/new', methods=['GET', 'POST'])
def customers_new():
form = BookNewForm()
if form.is_submitted():
print "submitted"
if form.validate():
print "valid"
if form.validate_on_submit():
flash("Successfully created a new book")
return redirect(url_for('.books_show'))
return render_template('views/books_new.html', form=form)
Jetzt Das Problem ist, wenn Sie meine print-Anweisungen betrachten, druckt sie immer gesendet, aber es druckt NIE gültig und validate_on_submit() wird nie ausgeführt. Warum?
Vielen Dank! Das war das genaue Problem! Ich habe das csrf-Feld nicht in meine Form aufgenommen. Der Versuch, es mit '{{form.csrf}}' zu lösen, hat nicht funktioniert, aber: '{{form.hidden_tag()}}' löste das Problem! Sie hatten auch Recht mit dem Fehlerdruck, gut zu wissen, wie das jetzt richtig funktioniert! – kadrian
Froh, zu helfen. Wenn Sie WTForms 0.6 oder höher ausführen, wird "form.csrf" zu "form.csrf_token". Achten Sie also darauf, aber 'form.hidden_tag()' funktioniert genauso gut. –
Das gab mir einen Albtraum. Danke vielmals. – skjoshi