Menu
CoddyTech

Validazione integrata

Fa parte della sezione Form del percorso Django di Coddy. Lezione 9 di 20.

Un evento ha bisogno di una descrizione e di un numero di posti. Ogni campo del modulo controlla un proprio tipo di valore e i suoi argomenti aggiungono delle regole. Ne hai già incontrate due: ogni campo è obbligatorio e max_length=100 rifiuta un titolo più lungo.

  • min_value su un IntegerField: rifiuta un numero più piccolo.
  • required=False su qualsiasi campo: può essere lasciato vuoto.

Un widget decide come viene visualizzato un campo: widget=forms.Textarea crea un'ampia casella di testo. Un modulo di prenotazione per un gioco da tavolo:

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

Un campo di testo facoltativo vuoto restituisce "" in cleaned_data; un campo numerico facoltativo vuoto restituisce None. Il ciclo del tuo template visualizza i nuovi campi senza modifiche.

challenge icon

Sfida

Facile

Gli eventi hanno una descrizione e un numero di posti.

  1. In events/forms.py, aggiungi description a EventForm: testo in un riquadro grande, che può essere lasciato vuoto. Aggiungi capacity: un numero intero di almeno 1.
  2. In new_event, salva entrambi nell'evento.

Aggiungi un evento con capacità pari a 25 e senza descrizione: la sua pagina mostra 25 posti.

Provalo tu

from django import forms


class EventForm(forms.Form):
    title = forms.CharField(max_length=100)
    date = forms.DateField()
    place = forms.CharField(max_length=100)
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Form

Esercitati da solo: Playground Django