Python

Cara Membuat Borang Django?

Cara Membuat Borang Django?
Penggunaan borang adalah bahagian penting dari mana-mana aplikasi web. Input dari pengguna laman web boleh diambil menggunakan borang. Ia boleh mengandungi pelbagai jenis bidang, seperti kotak teks, kotak kombo, kotak centang, butang radio, dll. untuk mengambil data dari pengguna. Kerangka Django mengandungi sejumlah besar perpustakaan untuk membantu pembangun web merancang bentuk HTML untuk mengambil input dari pengguna, memproses input, dan menanggapi input pengguna.

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 berhijrah

Untuk memeriksa sama ada pelayan Django berfungsi dengan betul atau tidak, jalankan arahan berikut:

$ python3 menguruskan.pelari py

Untuk membuat formapp bawah django_pro projek, jalankan arahan berikut:

$ python3 menguruskan.py startapp formapp

Buat 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 diperlukan
dari 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 import
dari 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.





Borang Pendaftaran Pengguna



% csrf_token%
borang.sebagai_p



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 diperlukan
dari 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.

WinMouse membolehkan anda menyesuaikan & meningkatkan pergerakan penunjuk tetikus pada PC Windows
Sekiranya anda ingin meningkatkan fungsi lalai penunjuk tetikus anda gunakan perisian percuma WinMouse. Ia menambah lebih banyak ciri untuk membantu a...
Butang klik kiri tetikus tidak berfungsi pada Windows 10
Sekiranya anda menggunakan tetikus khusus dengan komputer riba, atau komputer desktop anda tetapi butang klik kiri tetikus tidak berfungsi pada Window...
Kursor melompat atau bergerak secara rawak semasa menaip di Windows 10
Sekiranya anda mendapati kursor tetikus anda melompat atau bergerak sendiri, secara automatik, secara rawak semasa menaip komputer riba atau komputer ...