Pengesahan borang adalah tugas yang sangat penting bagi mana-mana aplikasi web untuk memasukkan data yang sah dalam pangkalan data. Pengguna aplikasi tidak akan dapat memasukkan data yang tidak sah jika data borang disahkan sebelum dihantar. Django dipanggil kerangka berdasarkan MVT (Model View Template) di mana tugas pengawal dilakukan oleh kerangka ini sendiri. Tugas yang berkaitan dengan pangkalan data dilakukan oleh Model dan data disajikan ke templat menggunakan View. Medan borang dihasilkan berdasarkan model tertentu yang akan memasukkan data ke dalam pangkalan data Django setelah pengesahan. Satu jenis pengesahan dilakukan oleh penyemak imbas berdasarkan jenis bidang yang ditentukan dalam model. Menggunakan ianya sah() fungsi adalah cara lain untuk memeriksa data borang sama ada ia sah atau tidak setelah menghantar borang. Tutorial ini akan menunjukkan kepada anda bagaimana data dapat dimasukkan ke dalam pangkalan data Django setelah mengesahkan borang.
Prasyarat
Sebelum mempraktikkan skrip tutorial ini, anda harus menyelesaikan tugas berikut:
- Pasang Django versi 3+ di Ubuntu 20+ (lebih baik)
- Buat projek Django
- Jalankan pelayan Django untuk memeriksa pelayan berfungsi dengan betul atau tidak.
Sediakan Aplikasi Django
1. Jalankan arahan berikut untuk membuat aplikasi Django bernama pengesahanapp.
$ python3 menguruskan.py startapp validationapp2. Jalankan arahan berikut untuk membuat pengguna yang digunakan untuk mengakses pangkalan data Django. Sekiranya anda telah membuat pengguna sebelum itu, anda tidak perlu menjalankan perintah.
$ python3 menguruskan.py createuperuser3. Tambahkan nama aplikasi di DIPASANG_APP sebahagian py fail.
INSTALLED_APPS = […
'pengesahanapp'
]
4. Buat folder bernama templat di dalam pengesahanapp folder dan tetapkan templat lokasi aplikasi di TEMPAT sebahagian py fail.
TEMPLATES = [… .
'DIRS': ['/ rumah / fahmida / django_pro / validationapp / templat'],
… .
,
]
Pengesahan Bentuk Django
Anda mesti menulis kod untuk fail berikut untuk memeriksa tugas pengesahan borang di Django.
- model.py
- pentadbir.py
- pandangan.py
- bentuk.py
- pelanggan.html
Buat Model
Buka model.py fail dari folder aplikasi dan tambahkan skrip berikut untuk membuat struktur pelanggan meja. Jadual akan mengandungi empat medan. Ini adalah nama penuh, e-mel, contact_no, dan jenis_pelanggan. Di sini, jenis pelanggan dibuat berdasarkan jenis pilihan. Ini bermaksud pengguna mesti memilih sebarang nilai dari senarai juntai bawah.
model.py
# Model importdari django.model import db
# Tentukan kelas untuk kemasukan pelanggan
Pelanggan kelas (model.Model):
# Tentukan nilai untuk jenis pelanggan
taip = (
('berbayar', 'Dibayar'),
('percuma', 'percuma')
)
# Tentukan medan untuk jadual pelanggan
full_name = model.CharField (panjang maksimum = 50)
e-mel = model.Bidang E-mel ()
contact_no = model.CharField (panjang maksimum = 20)
customer_type = model.CharField (max_length = 32, pilihan = jenis, default = 'percuma')
Daftar Model
Tambahkan skrip berikut di pentadbir.py fail untuk mendaftar Pelanggan model dalam pangkalan data Django untuk mengakses pelanggan jadual dari papan pemuka pentadbiran Django.
pentadbir.py
# Import modul pentadbirdari django.admin import contrib
# Import model pelanggan
dari .model import Pelanggan
# Daftar model pelanggan
pentadbir.tapak.daftar (Pelanggan)
Buat bentuk.py di dalam folder aplikasi dan tambahkan skrip berikut untuk menentukan kelas untuk membuat borang berdasarkan bidang yang disebutkan di pelanggan model.
bentuk.py
# Modul borang importdari borang import django
# Import model Pelanggan
dari pengesahanapp.model import Pelanggan
# Tentukan kelas untuk borang pelanggan
CustomerForm kelas (borang.ModelForm):
kelas Meta:
model = Pelanggan
bidang = ('nama_ penuh', 'e-mel', 'contact_no', 'jenis_ pelanggan')
Buat Templat
Buat fail HTML bernama pelanggan.html dengan skrip berikut untuk memaparkan bentuk yang dirancang sebelumnya dengan Jimat butang.
pelanggan.html
Borang Kemasukan Pelanggan
Masukkan Data Selepas Pengesahan Borang
Ubah suai kandungan pandangan.py fail dengan skrip berikut. Tambah Pelanggan () fungsi digunakan dalam skrip untuk memasukkan catatan baru di pelanggan jadual setelah mengesahkan borang. Sekiranya borang tidak dihantar, maka borang akan dimuat menggunakan pelanggan.html fail. Sekiranya borang dihantar dengan data yang sah maka catatan baru akan dimasukkan menggunakan simpan () fungsi dan mesej kejayaan akan dicetak di penyemak imbas dengan pilihan untuk menambah rekod lain.
pandangan.py
# Import modul HttpResponsedari django.http.respon import HttpResponse
# Modul rendering import
dari django.pintasan import pintasan
# Import CustomerForm
dari pengesahanapp.borang import CustomerForm
# Tentukan fungsi untuk menambah kemasukan pelanggan
def AddCustomer (permintaan):
sekiranya diminta.kaedah == "POST":
form = CustomerForm (permintaan.POS)
# Sekiranya data borang itu sah atau tidak
sekiranya bentuk.ianya sah():
cuba:
# Simpan data borang ke dalam pangkalan data
bentuk.simpan ()
# Tentukan mesej untuk pengguna
data = ['
Data Pelanggan dimasukkan dengan betul.
Tambah satu lagi']
# Kembalikan tindak balas
mengembalikan HttpResponse (data)
kecuali:
lulus
lain:
# Tentukan objek bentuk
borang = CustomerForm ()
# Tunjukkan borang kemasukan pelanggan
render balik (permintaan, 'pelanggan.html ', ' form ': form)
Ubah suai url.py fail projek Django dengan skrip berikut. Dua jalur telah ditentukan dalam skrip. 'pelanggan /' jalan akan digunakan untuk memaparkan borang untuk menambahkan rekod pelanggan baru. The 'pentadbir /' jalan akan digunakan untuk memaparkan Papan Pemuka Pentadbiran Django.
url.py
# Import modul pentadbirdari django.admin import contrib
# Modul laluan import
dari django.laluan import url
# Paparan import
dari pandangan import validationapp
# Tentukan jalan untuk pelanggan dan pentadbir
urlpatterns = [
jalan ('pelanggan /', pandangan.Tambah Pelanggan),
jalan ('admin /', pentadbir.tapak.url)
]
Jalankan pelayan Django dan jalankan URL berikut dari penyemak imbas untuk memaparkan borang kemasukan pelanggan. Sekiranya Jimat butang ditekan tanpa menambahkan data ke dalam formulir, maka halaman berikut akan muncul dengan kesalahan untuk membiarkan bidang yang diperlukan kosong.
Sekiranya data tidak sah ditetapkan untuk bidang e-mel, maka ralat berikut akan muncul.
Maklumat berikut akan muncul jika borang dihantar dengan data yang sah. Sekiranya pengguna mengklik pada 'Tambah satu lagi' pautan, borang akan muncul lagi untuk memasukkan data untuk rekod seterusnya.
Kesimpulannya
Cara mengesahkan borang Django ditunjukkan dalam tutorial ini dengan membuat aplikasi Django yang sederhana. Aplikasi tersebut akan membantu pemaju Django untuk memahami pentingnya pengesahan borang dan mereka dapat melakukannya dengan betul.