Sebuah Formulir Django
Termasuk bagian Formulir dalam perjalanan Django di Coddy. Pelajaran 5 dari 20.
Kirim formulir tanpa tanggal dan situs akan error: 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 dapat 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 telah dikonversi ke Python, jadi cleaned_data["day"] adalah datetime.date, bukan teks:
form = BookingForm(request.POST)
if form.is_valid():
day = form.cleaned_data["day"]Tantangan
Mudah- Di
events/forms.py, tulisEventForm:titledanplacesebagai teks dengan maksimal 100 karakter,datesebagai tanggal. - Di
new_event, periksa POST menggunakan formulir tersebut. Jika valid, buat event dari nilai yang sudah dikonversi, lalu alihkan. Jika tidak, render halaman denganerroryang diatur kePlease check the form.
Tekan Jalankan dan kirim formulir tanpa tanggal.
Coba sendiri
from django import forms
Semua pelajaran di Formulir
2Formulir Django
Sebuah Formulir DjangoMenggambar FormulirLatihan sendiri: Playground Django