Django

Pengesahan Bentuk di Django

Pengesahan Bentuk di Django

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:

  1. Pasang Django versi 3+ di Ubuntu 20+ (lebih baik)
  2. Buat projek Django
  3. 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 validationapp

2. 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 createuperuser

3. 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.

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 import
dari 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 pentadbir
dari 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 import
dari 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 Pendaftaran Pengguna


Borang Kemasukan Pelanggan

% csrf_token%
borang.sebagai_p



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 HttpResponse
dari 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 pentadbir
dari 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.

Tutorial Battle for Wesnoth
The Battle for Wesnoth adalah salah satu permainan strategi sumber terbuka paling popular yang boleh anda mainkan pada masa ini. Bukan hanya permainan...
0 A.D. Tutorial
Daripada banyak permainan strategi di luar sana, 0 A.D. berjaya menonjol sebagai tajuk yang komprehensif dan permainan taktikal yang sangat mendalam w...
Tutorial Unity3D
Pengenalan Unity 3D Unity 3D adalah enjin pengembangan permainan yang kuat. Ini adalah platform silang yang memungkinkan anda membuat permainan untuk ...