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_valuesu unIntegerField: rifiuta un numero più piccolo.required=Falsesu 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.
Sfida
FacileGli eventi hanno una descrizione e un numero di posti.
- In
events/forms.py, aggiungidescriptionaEventForm: testo in un riquadro grande, che può essere lasciato vuoto. Aggiungicapacity: un numero intero di almeno 1. - 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)
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Form
2Moduli Django
Un modulo DjangoCreare un moduloEsercitati da solo: Playground Django