Wbudowana walidacja
Część sekcji Formularze ścieżki Django w Coddy. Lekcja 9 z 20.
Wydarzenie wymaga opisu i określonej liczby miejsc. Każde pole formularza sprawdza określony typ wartości, a jego argumenty dodają reguły. Poznałeś już dwie: każde pole jest wymagane, a max_length=100 odrzuca tytuł, który jest dłuższy.
min_valuew poluIntegerField: odrzuca mniejszą liczbę.required=Falsew dowolnym polu: można je pozostawić puste.
Widżet decyduje o tym, jak wyświetlane jest pole: widget=forms.Textarea tworzy duże pole tekstowe. Formularz rezerwacji do gry planszowej:
class TableForm(forms.Form):
players = forms.IntegerField(min_value=2)
wishes = forms.CharField(widget=forms.Textarea, max_length=500)
phone = forms.CharField(required=False)Puste opcjonalne pole tekstowe daje "" w cleaned_data; puste opcjonalne pole liczbowe daje None. Pętla w szablonie wyświetla nowe pola bez żadnych zmian.
Wyzwanie
ŁatwyWydarzenia mają opis i określoną liczbę miejsc.
- W pliku
events/forms.pydodajdescriptiondoEventForm: tekst w dużym polu, które można pozostawić puste. Dodajcapacity: liczbę całkowitą co najmniej 1. - W
new_eventzapisz oba pola w wydarzeniu.
Dodaj wydarzenie z pojemnością 25 i bez opisu: jego strona wyświetla 25 miejsc.
Spróbuj swoich sił
from django import forms
class EventForm(forms.Form):
title = forms.CharField(max_length=100)
date = forms.DateField()
place = forms.CharField(max_length=100)
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Formularze
Poćwicz samodzielnie: Edytor online Django