Sebuah Formulir Django
Termasuk bagian Formulir dalam perjalanan Django di Coddy. Pelajaran 5 dari 20.
Kirim formulir tanpa tanggal dan situs akan mogok: Django tidak dapat mengubah teks kosong menjadi tanggal. Memeriksa setiap field satu per satu akan membutuhkan kode untuk setiap field dan setiap kesalahan.
Formulir Django mendeskripsikan field satu kali, di forms.py, dan setiap field mengetahui nilai yang diterimanya. Formulir pemesanan restoran:
from django import forms
class BookingForm(forms.Form):
name = forms.CharField(max_length=50)
day = forms.DateField()
guests = forms.IntegerField()Setiap field wajib diisi kecuali kamu menyatakan sebaliknya, dan CharField menghapus spasi terlebih dahulu, jadi nama yang hanya berisi spasi dianggap kosong.
Di view, buat formulir dari data yang diterima dan panggil is_valid(): fungsi ini memeriksa setiap field dan mengembalikan True atau False. Lalu form.cleaned_data menyimpan nilai yang sudah dikonversi ke Python, sehingga cleaned_data["day"] adalah datetime.date, bukan teks:
form = BookingForm(request.POST)
if form.is_valid():
day = form.cleaned_data["day"]Tantangan
MudahBiarkan form Django memeriksa acara baru.
- Di
events/forms.py, tulisEventForm:titledanplacesebagai teks hingga 100 karakter,datesebagai tanggal. - Di
new_event, buat form darirequest.POST. Jika valid, buat acara dariform.cleaned_datalalu arahkan ke acara tersebut. Jika tidak, tetapkanerrorkePlease check the form.
Kirim form tanpa tanggal: kamu akan melihat Please check the form.
Coba sendiri
from django import forms
Semua pelajaran di Formulir
2Formulir Django
Sebuah Formulir DjangoMenggambar FormulirLatihan sendiri: Playground Django