Menu
CoddyTech

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"]
challenge icon

Tantangan

Mudah

Biarkan form Django memeriksa acara baru.

  1. Di events/forms.py, tulis EventForm: title dan place sebagai teks hingga 100 karakter, date sebagai tanggal.
  2. Di new_event, buat form dari request.POST. Jika valid, buat acara dari form.cleaned_data lalu arahkan ke acara tersebut. Jika tidak, tetapkan error ke Please check the form.

Kirim form tanpa tanggal: kamu akan melihat Please check the form.

Coba sendiri

from django import forms

Semua pelajaran di Formulir

Latihan sendiri: Playground Django