Bagaimana bentuk HTML dapat digunakan untuk mengambil data dari pengguna, membaca nilai input, dan mencetak nilai di penyemak imbas menggunakan Django ditunjukkan dalam tutorial ini.
Prasyarat:
Anda harus membuat projek Django sebelum membuat borang Django. Untuk membuat projek Django baru dan pergi ke folder projek, jalankan arahan berikut:
$ django-admin startprojek django_pro$ cd django_pro
Untuk membuat fail yang diperlukan dan menerapkan migrasi untuk projek, jalankan arahan berikut:
$ python3 menguruskan.py berhijrahUntuk memeriksa sama ada pelayan Django berfungsi dengan betul atau tidak, jalankan arahan berikut:
$ python3 menguruskan.pelari pyUntuk membuat formapp bawah django_pro projek, jalankan arahan berikut:
$ python3 menguruskan.py startapp formappBuat Borang HTML Menggunakan Django:
Buka pandangan.py fail yang ada di dalam formapp folder dan ubah kandungannya dengan kandungan berikut. Skrip berikut akan memeriksa sama ada borang dihantar atau tidak. Sekiranya borang dihantar maka nilai permintaan.kaedah akan POST dan permintaan.POS.dapatkan () kaedah digunakan untuk membaca nilai yang dihantar. The ianya sah() fungsi akan memeriksa sama ada data borang itu sah atau tidak. Sekiranya fungsi ini kembali benar, maka pesan kejayaan dengan data pengguna yang sah akan dicetak di penyemak imbas, jika tidak, mesej ralat yang muncul di bidang tertentu borang akan dipaparkan. Selain daripada itu, membuat () kaedah digunakan untuk memuatkan borang di penyemak imbas dan HttpResponse () kaedah digunakan untuk menghantar respons dari pelayan ke penyemak imbas setelah menghantar borang.
# Import modul yang diperlukandari django.pintasan import pintasan
dari formapp.borang import StudentForm
dari django.http import HttpResponse
def form_request (permintaan):
# Periksa borang dihantar atau tidak
sekiranya diminta.kaedah == 'POST':
student = StudentForm (permintaan.POS)
# Periksa data borang itu sah atau tidak
sekiranya pelajar.ianya sah():
# Baca nilai yang dihantar
nama = permintaan.POS.dapatkan ("nama")
e-mel = permintaan.POS.dapatkan ("e-mel")
nama pengguna = permintaan.POS.dapatkan ("nama pengguna")
# Gabungkan nilai
data = ['Pendaftaran anda berjaya diselesaikan.
',' Nama: ', nama,'
',' E-mel: ', e-mel,'
',' Nama pengguna: ', nama pengguna]
# Kembalikan nilai borang sebagai tindak balas
mengembalikan HttpResponse (data)
lain:
# Paparkan borang html
pelajar = PelajarForm ()
return render (permintaan, "borang.html ", 'form': pelajar)
Buat bentuk.py di dalam formapp folder dan tambahkan kandungan berikut. Skrip berikut akan membuat bentuk empat bidang. The nama medan ditakrifkan untuk mengambil data watak dan panjangnya boleh terdiri daripada 40 aksara. The e-mel medan didefinisikan untuk mengambil alamat e-mel yang sah menggunakan data watak dan panjangnya 50 aksara. The nama pengguna medan didefinisikan untuk mengambil data watak, dan boleh panjangnya 20 aksara. The kata laluan medan didefinisikan untuk mengambil data watak dan panjangnya minimum 10 aksara dan maksimum 20 aksara. The bentuk.Input Kata Laluan widget digunakan untuk bidang kata laluan untuk menyembunyikan kandungan bidang kata laluan.
# Modul borang importdari borang import django
# Buat kelas untuk menentukan medan borang
StudentForm kelas (borang.Borang):
nama = bentuk.CharField (label = "Nama penuh", panjang_ maksimum = 40)
e-mel = borang.EmailField (label = "E-mel", panjang_ maksimum = 50)
nama pengguna = bentuk.CharField (label = "Nama Pengguna", panjang_panjang = 20)
kata laluan = borang.CharField (label = "Kata Laluan", min_length = 10, max_length = 20, widget = form.Input Kata Laluan)
Buat folder bernama templat di dalam formapp folder. Pergi ke TEMPAT bahagian dari tetapannya.py fail dan tetapkan lokasi templat folder untuk DIRS harta benda.
tetapan.py
TEMPLATES = ['DIRS': ['/ rumah / fahmida / django_pro / formapp / templat']
,
]
Buat bentuk.html di dalam templat folder dengan kandungan berikut.
% csrf_token% digunakan dalam skrip HTML untuk mencegah serangan CSRF (Cross-Site Request Forgeries). borang.sebagai_p akan memuatkan bentuk Django yang dirancang oleh bentuk.py fail. Apabila Hantar butang ditekan, data borang akan dihantar ke pelayan.
Buka url.py daripada django_pro folder dan ubah suai kandungan dengan kandungan berikut.
Di sini, 'daftar /' jalan digunakan untuk memuatkan borang di penyemak imbas.
# Import modul yang diperlukandari django.laluan import url
dari paparan import formapp
# Kaedah panggilan untuk memaparkan borang
urlpatterns = [
jalan ('register /', pandangan.borang_minta)
]
Buka mana-mana penyemak imbas dan ketik URL berikut untuk memuatkan borang pendaftaran pengguna di penyemak imbas.
http: // localhost: 8000 / daftar
Output berikut akan muncul setelah menjalankan URL. Pengesahan untuk bidang kosong, nilai panjang maksimum nama, e-mel, dan bidang kata laluan, dan nilai panjang minimum dan maksimum bidang kata laluan akan diperiksa setelah menghantar borang.
Output berikut menunjukkan bahawa medan kata laluan tidak sah. Mengikut borang, panjang nilai kata laluan mestilah dalam lingkungan 10 hingga 20 aksara. 5 watak telah diberikan sebagai input dalam bentuk berikut. Untuk ini, borang menunjukkan mesej ralat.
Setelah memasukkan output yang sah di setiap bidang formulir, output berikut akan muncul.
Kesimpulan:
Cara membuat borang pendaftaran pengguna yang sangat sederhana dalam aplikasi Django telah ditunjukkan dalam tutorial ini. Django mempunyai banyak kaedah untuk membuat pelbagai jenis bidang bentuk, seperti CharField (), EmailField (), TextFiled, dll. Tugas pengesahan borang menjadi lebih mudah apabila borang tersebut dirancang oleh bentuk Django.