is_valid und cleaned_data
Validieren Sie Eingaben und lesen Sie bereinigte Werte aus.
is_valid und cleaned_data ist eine kostenlose Django Academy-Lektion auf CoddyKit. Dies ist Lektion 2 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 Django Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Django Academy-Kurs umfasst insgesamt 4 Lektionen.
Teile dieser Lektion wurden noch nicht übersetzt und werden auf Englisch angezeigt.
Bind Data First
To validate, create a bound form by passing the submitted data into it. Only bound forms can be validated.
form = ContactForm(request.POST)Call is_valid()
is_valid() runs every field validation and returns True only if all of them pass. It triggers the whole cleaning process.
if form.is_valid():
handle(form)cleaned_data Appears
After is_valid() returns True, Django fills cleaned_data, a dict of validated, type-converted values ready to use.
name = form.cleaned_data["name"]Values Are Converted
Cleaning converts types too. An IntegerField gives you a real int, and a DateField gives you a Python date, not raw strings.
age = form.cleaned_data["age"] # intErrors Collect Automatically
If validation fails, the messages land in form.errors, keyed by field name so you can show each problem clearly.
if not form.is_valid():
print(form.errors)Field-Level clean Methods
Add a method named clean_field to validate one field and return its cleaned value. Raise ValidationError to reject it.
def clean_name(self):
name = self.cleaned_data["name"]
return name.strip()Raise ValidationError
Inside a clean method, raise ValidationError with a message to reject the value and attach an error to that field.
if "@" not in email:
raise forms.ValidationError("Bad email")Form-Wide clean()
Override clean() to validate fields against each other, like confirming two passwords match across the whole form.
def clean(self):
cleaned = super().clean()
return cleanedCross-Field Checks
In clean() you can read several cleaned_data keys and raise an error when their combination is invalid.
if start > end:
raise forms.ValidationError("Bad range")The Cleaning Order
Django runs field cleaning first, then your form-wide clean(). So clean() can safely rely on already-validated field values.
Use cleaned_data Safely
Always read input from cleaned_data, never from request.POST. Only cleaned_data holds validated, converted, trusted values.
email = form.cleaned_data["email"]Quick Check
Test your grip on validation.
Recap
Bind data, call is_valid(), then read trusted values from cleaned_data. Use clean methods to add your own rules. ✅
Häufig gestellte Fragen
Ist die Lektion „is_valid und cleaned_data“ kostenlos?
Ja — der vollständige Text von „is_valid und cleaned_data“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Django Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Django Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „is_valid und cleaned_data“?
Validieren Sie Eingaben und lesen Sie bereinigte Werte aus. Du übst Django 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 Django Academy zu starten?
Keine Vorkenntnisse erforderlich. Django 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 2 von 4.
Wie lange dauert die Lektion „is_valid und cleaned_data“?
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 Django Academy-Lektion Code schreiben und ausführen?
Ja. Jede Django 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
- Ein forms.Form definieren
- is_valid und cleaned_data
- Formulare in Templates rendern
- CSRF-Schutz und der POST-Ablauf