Menu
CoddyTech

Integrierte Validierung

Teil des Abschnitts Formulare der Django-Journey von Coddy. Lektion 9 von 20.

Eine Veranstaltung benötigt eine Beschreibung und eine Anzahl von Plätzen. Jedes Formularfeld prüft eine bestimmte Art von Wert, und seine Argumente fügen Regeln hinzu. Du kennst bereits zwei: Jedes Feld ist erforderlich, und max_length=100 weist einen längeren Titel zurück.

  • min_value bei einem IntegerField: weist eine kleinere Zahl zurück.
  • required=False bei einem beliebigen Feld: Es darf leer gelassen werden.

Ein Widget bestimmt, wie ein Feld dargestellt wird: widget=forms.Textarea erzeugt ein großes Textfeld. Ein Buchungsformular für ein Brettspiel:

class TableForm(forms.Form):
    players = forms.IntegerField(min_value=2)
    wishes = forms.CharField(widget=forms.Textarea, max_length=500)
    phone = forms.CharField(required=False)

Ein leeres optionales Textfeld ergibt "" in cleaned_data; eine leere optionale Zahl ergibt None. Die Schleife in deinem Template stellt neue Felder ohne Änderungen dar.

challenge icon

Aufgabe

Einfach

Veranstaltungen erhalten eine Beschreibung und eine Anzahl von Plätzen.

  1. Füge in events/forms.py description zu EventForm hinzu: Text in einem großen Feld, das leer bleiben darf. Füge capacity hinzu: eine ganze Zahl von mindestens 1.
  2. Speichere in new_event beides für die Veranstaltung.

Füge eine Veranstaltung mit einer Kapazität von 25 und ohne Beschreibung hinzu: Auf ihrer Seite werden 25 Plätze angezeigt.

Probier es selbst

from django import forms


class EventForm(forms.Form):
    title = forms.CharField(max_length=100)
    date = forms.DateField()
    place = forms.CharField(max_length=100)
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Formulare

Übe selbstständig: Django-Playground