0Pricing
Flask Academy · Lektion

validate_on_submit und CSRF-Tokens

Verarbeiten Sie gültige POSTs und blockieren Sie Fälschungen.

validate_on_submit und CSRF-Tokens ist eine kostenlose Flask Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Flask Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.

The Golden Method

Flask-WTF gives you one method that checks everything at once. validate_on_submit is the heart of safely processing any form. 🔑

What It Actually Checks

validate_on_submit returns True only when the request is a POST and every validator passes. One call covers both conditions.

if form.validate_on_submit():
    pass  # safe to use the data

The Standard View Pattern

This shape repeats in every Flask app: build the form, branch on validate_on_submit, then fall through to render the page.

form = LoginForm()
if form.validate_on_submit():
    return redirect('/home')
return render_template('login.html', form=form)

Submitted vs Valid

Do not confuse the two. is_submitted only checks the method, while validate_on_submit also confirms the data passed every rule.

form.is_submitted()        # POST? 
form.validate_on_submit()  # POST and valid?

Why CSRF Matters

A CSRF attack tricks a logged-in user into submitting a form they never meant to. Tokens prove the request came from your own page.

SECRET_KEY Is Required

CSRF tokens are signed, so Flask needs a SECRET_KEY. Without it, validation fails and Flask-WTF refuses to protect the form.

app.config['SECRET_KEY'] = 'change-me-in-production'

The Token in the Page

That call to hidden_tag embeds the signed token as a hidden input. The browser sends it back with every submission.

{{ form.hidden_tag() }}

Validation Compares Tokens

On submit, Flask-WTF compares the posted token against the session. A missing or stale token makes validate_on_submit return False.

if not form.validate_on_submit():
    pass  # bad token or failed rule

Inspect Why It Failed

When validation fails, look at form.errors. It maps each field name to the list of messages explaining the problem.

if not form.validate_on_submit():
    print(form.errors)

Process Then Redirect

After a successful submit, finish with a redirect. That follows the PRG pattern and stops a refresh from posting twice.

if form.validate_on_submit():
    save(form.data)
    return redirect('/done')

Never Disable CSRF Blindly

You can turn off CSRF for APIs, but never for browser forms. Keeping protection on is what makes Flask-WTF worth using.

Quick Check

When does form.validate_on_submit() return True?

Recap

You leaned on validate_on_submit for the method-plus-rules check, set a SECRET_KEY for signed CSRF tokens, and redirected after success. 🛡️

Häufig gestellte Fragen

Ist die Lektion „validate_on_submit und CSRF-Tokens“ kostenlos?

Ja — der vollständige Text von „validate_on_submit und CSRF-Tokens“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Flask Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Flask Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „validate_on_submit und CSRF-Tokens“?

Verarbeiten Sie gültige POSTs und blockieren Sie Fälschungen. Du übst Flask Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Flask Academy zu starten?

Keine Vorkenntnisse erforderlich. Flask Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „validate_on_submit und CSRF-Tokens“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Flask Academy-Lektion Code schreiben und ausführen?

Ja. Jede Flask Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Eine FlaskForm-Klasse definieren
  2. Ein Formular rendern und übermitteln
  3. validate_on_submit und CSRF-Tokens
  4. Benutzerdefinierte Validatoren und Feldfehler
← Zurück zu Flask Academy