I Django bentuk, itu dapat memeriksa apakah formulir itu valid:
if form.is_valid():
return HttpResponseRedirect('/thanks/')
Tapi saya kehilangan apa yang harus dilakukan jika tidak valid? Bagaimana cara mengembalikan formulir dengan pesan kesalahan? Saya tidak melihat "lain" di salah satu contoh.
django
django-forms
pengguna984003
sumber
sumber
myForm
adalah turunan dari salah satuforms.Form
atauforms.ModelForm
, baca tentang Formulir DjangoUNIQUE constraint failed:
pengecualian?views.py
Jika ingin menampilkan kesalahan formulir selain yang tidak valid cukup letakkan {{form.as_p}} seperti yang saya lakukan di bawah ini
page.html
sumber
messages.error(request, "Error")
?sumber
UPDATE: Menambahkan deskripsi yang lebih mendetail tentang kesalahan formset.
Form.errors menggabungkan semua field dan non_field_errors. Oleh karena itu Anda dapat menyederhanakan html menjadi ini:
template
form_tags.py
Satu peringatan: Berbeda dengan form, Formset.errors tidak menyertakan non_field_errors.
sumber
Anda bisa melakukan seperti ini karena ketika Anda menginisialisasi formulir di berisi data formulir dan data tidak valid juga:
jika akan memunculkan kesalahan di templat jika ada tetapi data formulir akan tetap seperti:
error_demo_di sini
sumber
Anda dapat menempatkan variabel flag, dalam hal ini berhasil .
setelah itu di template Anda, Anda tinggal memasukkan kode di bawah ini
sumber