Az űrlapellenőrzés nagyon fontos feladat minden webalkalmazás számára, hogy érvényes adatokat adjon meg az adatbázisban. Az alkalmazás felhasználói nem tudnak érvénytelen adatokat beszúrni, ha az űrlapadatokat a beküldés előtt ellenőrzik. A Django-t MVT (Model View Template) alapú keretrendszernek hívják, ahol a vezérlő feladatát maga ez a keretrendszer végzi. Az adatbázissal kapcsolatos feladatokat a Model végzi, és az adatokat a Nézet használatával jeleníti meg a sablon. Az űrlap mezői az adott modell alapján jönnek létre, amely az adatokat érvényesítés után beilleszti a Django adatbázisba. Az érvényesítés egyik típusát a böngésző végzi a modellben definiált mezőtípus alapján. Használni a érvényes() függvény egy másik módja annak, hogy ellenőrizze az űrlap adatait, hogy érvényesek-e vagy sem az űrlap elküldése után. Ez az oktatóanyag megmutatja, hogyan lehet az adatokat az űrlap érvényesítése után beilleszteni a Django adatbázisba.
Előfeltételek
Az oktatóanyag szkriptjének gyakorlása előtt el kell végeznie a következő feladatokat:
- Telepítse a Django 3+ verziót az Ubuntu 20+ verzióra (lehetőleg)
- Hozzon létre egy Django projektet
- Futtassa a Django szervert annak ellenőrzésére, hogy a szerver megfelelően működik-e vagy sem.
Állítson be egy Django alkalmazást
1. Futtassa a következő parancsot egy Django alkalmazás létrehozásához validationapp.
$ python3 kezelni.py startapp validationapp2. Futtassa a következő parancsot a Django adatbázis eléréséhez használt felhasználó létrehozásához. Ha korábban létrehozta a felhasználót, akkor nem kell futtatnia a parancsot.
$ python3 kezelni.py létrehozza a túlfelhasználót3. Adja hozzá az alkalmazás nevét a INSTALLED_APP része a py fájl.
INSTALLED_APPS = […
'validationapp'
]
4. Hozzon létre egy nevű mappát sablonok benne validationapp mappát, és állítsa be a sablonok az alkalmazás helye a Sablonok része a py fájl.
Sablonok = [… .
'DIRS': ['/ home / fahmida / django_pro / validationapp / templates'],
… .
,
]
Django forma érvényesítése
Az űrlapellenőrzési feladat ellenőrzéséhez a Django-ban meg kell írnia a következő fájlok kódját.
- modellek.py
- admin.py
- nézetek.py
- formák.py
- vevő.html
Hozza létre a modellt
Nyissa meg a modellek.py fájlt az alkalmazás mappából, és a következő szkript hozzáadásával hozza létre a ügyfelek asztal. A táblázat négy mezőt tartalmaz. Ezek a teljes_név, az e-mail, az elérhetőség_száma és az ügyfél_típusa. Itt a customer_type kiválasztási típus szerint jön létre. Ez azt jelenti, hogy a felhasználónak bármilyen értéket ki kell választania a legördülő listából.
modellek.py
# Modellek importálásadjangótól.db import modellek
# Definiálja az ügyfél belépésének osztályát
osztály Ügyfél (modellek.Modell):
# Definiálja az ügyféltípus értékeit
type = (
(„fizetett”, „fizetett”),
(„ingyenes”, „ingyenes”)
)
# Határozza meg az ügyféltábla mezőit
teljes_név = modellek.CharField (max_hossz = 50)
email = modellek.EmailField ()
contact_no = modellek.CharField (max_hossz = 20)
ügyfél_típus = modellek.CharField (max_hossz = 32, választás = típus, alapértelmezett = 'szabad')
Regisztrálja a modellt
Adja hozzá a következő parancsfájlt a az admin.py fájl a Vevő modell a Django adatbázisban a ügyfelek táblázat a Django adminisztratív irányítópultról.
admin.py
# Adminisztrációs modul importálásadjangótól.közreműködés import admin
# Ügyfélmodell importálása
tól től .modellek importálják az Ügyfelet
# Ügyfélmodell regisztrálása
admin.webhely.regisztráció (Ügyfél)
Teremt formák.py az alkalmazás mappájába, és adja hozzá a következő szkriptet az osztály definiálásához, hogy létrehozza az űrlapot a a vásárló modell.
formák.py
# Form űrlapok importálásadjango import űrlapokból
# Ügyfélmodell importálása
from validationapp.modellek importálják az Ügyfelet
# Határozza meg az ügyfél űrlap osztályát
osztály CustomerForm (űrlapok.ModelForm):
osztály Meta:
modell = Ügyfél
mezők = ('teljes_név', 'e-mail', 'kapcsolattartó_no', 'ügyfél_típus')
Hozzon létre sablont
Hozzon létre egy HTML nevű fájlt vevő.html a következő szkript segítségével jelenítse meg a korábban tervezett űrlapot a Mentés gomb.
vevő.html
Ügyfél nevezési lap
Adatok beszúrása az űrlap érvényesítése után
Módosítsa a nézetek.py a következő szkriptet tartalmazó fájl. AddCustomer () függvény a szkriptben új rekord beszúrására szolgál a ügyfelek tábla az űrlap érvényesítése után. Ha az űrlapot nem nyújtják be, akkor az űrlapot a a vásárló.html fájl. Ha az űrlapot érvényes adatokkal együtt nyújtják be, akkor a mentés() funkció és egy sikerüzenet kerül kinyomtatásra a böngészőben azzal a lehetőséggel, hogy újabb rekordot adhat hozzá.
nézetek.py
# HttpResponse modul importálásadjangótól.http.válasz import HttpResponse
# Render modul importálása
djangótól.parancsikonok import render
# Importálja a CustomerForm elemet
from validationapp.űrlapok importálják a CustomerFormot
# Definiálja a funkciót az ügyfélbejegyzés hozzáadásához
def AddCustomer (kérés):
ha kérik.módszer == "POST":
form = CustomerForm (kérés.POST)
# Ha az űrlapadatok érvényesek vagy sem
ha forma.érvényes():
próbáld ki:
# Mentse az űrlap adatait az adatbázisba
forma.mentés()
# Határozza meg az üzenetet a felhasználó számára
adatok = ['
Az Ügyfél adatait megfelelően illesztette be.
Adj hozzá egy másikat']
# Adja vissza a választ
return HttpResponse (adatok)
kivéve:
passz
más:
# Definiálja az űrlap objektumot
form = CustomerForm ()
# Mutassa meg az ügyfél belépési űrlapját
return render (kérés, 'ügyfél.html ', ' form ': form)
Módosítsa a URL-ek.py a Django projekt fájlja a következő szkript segítségével. Két utat határoztak meg a szkriptben. 'vevő/' elérési útvonal lesz az űrlap megjelenítéséhez az új ügyfélrekordok hozzáadásához. A 'admin /' elérési utat fogjuk használni a Django Administration Dashboard megjelenítéséhez.
URL-ek.py
# Adminisztrációs modul importálásadjangótól.közreműködés import admin
# Útvonal modul importálása
djangótól.URL importálási útvonal
# Import nézet
validationapp import nézetekből
# Definiálja az ügyfél és az adminisztrátor elérési útját
urlpatterns = [
elérési út ('ügyfél /', nézetek.AddCustomer),
elérési út ('admin /', admin.webhely.URL-ek)
]
Futtassa a Django szervert, és futtassa a következő URL-t a böngészőből az ügyfél belépési űrlapjának megjelenítéséhez. Ha a Mentés gombot, anélkül, hogy bármilyen adatot adna az űrlaphoz, akkor a következő oldal jelenik meg hibákkal a kötelező mezők üresen tartása érdekében.
Ha érvénytelen adatokat állított be az e-mail mezőhöz, akkor a következő hiba jelenik meg.
A következő információk jelennek meg, ha az űrlapot érvényes adatokkal nyújtják be. Ha a felhasználó rákattint aAdj hozzá egy másikat' linkre kattintva az űrlap ismét megjelenik a következő rekord adatainak beszúrásához.
Következtetés
A Django űrlap érvényesítésének módját ebben az oktatóanyagban bemutattuk egy egyszerű Django alkalmazás létrehozásával. Az említett alkalmazás segít a Django fejlesztőknek megérteni az űrlap érvényesítés fontosságát, és képesek lennének megfelelően megtenni.