Validacija obrazca je zelo pomembna naloga katere koli spletne aplikacije za vnos veljavnih podatkov v bazo podatkov. Uporabniki aplikacije ne bodo mogli vstaviti neveljavnih podatkov, če bodo podatki obrazca potrjeni pred oddajo. Django se imenuje ogrodje, ki temelji na MVT (Model View Template), pri čemer nalogo krmilnika opravlja ta okvir sam. Naloge, povezane z bazo podatkov, opravi Model, podatki pa se v predlogo predstavijo s pomočjo Pogled. Polja obrazca se ustvarijo na podlagi določenega modela, ki bo po preverjanju vstavil podatke v bazo podatkov Django. Eno vrsto preverjanja veljavnosti opravi brskalnik na podlagi vrste polja, ki je definirana v modelu. Uporabljati is_valid () funkcija je še en način za preverjanje podatkov obrazca, ali so po oddaji obrazca veljavni ali ne. Ta vadnica vam bo pokazala, kako lahko podatke vstavite v bazo podatkov Django po potrditvi obrazca.
Pogoji
Pred vadbo skripta te vadnice morate opraviti naslednje naloge:
- Namestite različico Django 3+ na Ubuntu 20+ (po možnosti)
- Ustvarite projekt Django
- Zaženite strežnik Django, da preverite, ali strežnik deluje pravilno ali ne.
Nastavite aplikacijo Django
1. Zaženite naslednji ukaz, da ustvarite aplikacijo Django z imenom validationapp.
$ python3 upravljanje.py startapp validacijapp2. Zaženite naslednji ukaz, da ustvarite uporabnika, ki se uporablja za dostop do baze podatkov Django. Če ste uporabnika ustvarili že prej, vam ni treba zagnati ukaza.
$ python3 upravljanje.py ustvarja uporabnika3. Dodajte ime aplikacije v INSTALLED_APP del py mapa.
INSTALLED_APPS = [..
'validationapp'
]
4. Ustvarite mapo z imenom predloge znotraj validationapp mapo in nastavite predloge lokacijo aplikacije v PREDLOGE del py mapa.
PREDLOGE = [.. .
'DIRS': ['/ home / fahmida / django_pro / validationapp / templates'],
.. .
,
]
Preverjanje obrazca Django
Če želite preveriti nalogo za preverjanje obrazca v Django, morate napisati kodo za naslednje datoteke.
- modelov.py
- skrbnik.py
- pogledi.py
- obrazci.py
- stranko.html
Ustvari model
Odprite modelov.py iz mape z aplikacijami in dodajte naslednji skript, da ustvarite strukturo stranke tabela. Tabela bo vsebovala štiri polja. To so polno_ime, e-poštni naslov, št. Stika in tip_kupec. Tu je tip_kupa ustvarjen po vrsti izbora. To pomeni, da mora uporabnik na spustnem seznamu izbrati katero koli vrednost.
modelov.py
# Uvozi modeleiz djanga.db modeli uvoza
# Določite razred za vstop stranke
razred Stranka (modeli.Model):
# Določite vrednosti za vrsto stranke
vrsta = (
('plačano', 'plačano'),
('brezplačno', 'brezplačno')
)
# Določite polja za tabelo strank
polno_ime = modeli.CharField (največja_dolžina = 50)
email = modeli.EmailField ()
contact_no = modeli.CharField (max_length = 20)
customer_type = modeli.CharField (največja_dolžina = 32, izbire = vrsta, privzeto = 'brezplačno')
Registrirajte model
V datoteko dodajte naslednji skript skrbnik.py datoteka za registracijo Stranka model v bazi podatkov Django za dostop do stranke tabela z upravne nadzorne plošče Django.
skrbnik.py
# Uvozi skrbniški moduliz djanga.prispevaj uvoz admin
# Uvozi model stranke
iz .modeli uvoz stranke
# Registrirajte model stranke
skrbnik.spletnem mestu.registriraj (kupec)
Ustvari obrazci.py znotraj mape z aplikacijami in dodajte naslednji skript, da določite razred za ustvarjanje obrazca na podlagi omenjenih polj stranka model.
obrazci.py
# Uvozi modul obrazceviz obrazcev za uvoz django
# Uvozi model stranke
iz validationapp.modeli uvoz stranke
# Določite razred za obrazec stranke
razred CustomerForm (obrazci.ModelForm):
razred Meta:
model = kupec
polja = ('polno_ime', 'email', 'contact_no', 'customer_type')
Ustvari predlogo
Ustvarite datoteko HTML z imenom stranko.html z naslednjim skriptom za prikaz predhodno oblikovanega obrazca z Shrani gumb.
stranko.html
Obrazec za prijavo strank
Vstavi podatke po preverjanju obrazca
Spremenite vsebino pogledi.py datoteko z naslednjim skriptom. AddCustomer () funkcija se v skriptu uporablja za vstavljanje novega zapisa v datoteko stranke tabelo po potrditvi obrazca. Če obrazec ni oddan, se obrazec naloži z uporabo stranka.html mapa. Če je obrazec oddan z veljavnimi podatki, bo nov zapis vstavljen s pomočjo shrani () funkcija in sporočilo o uspehu bo natisnjeno v brskalniku z možnostjo dodajanja novega zapisa.
pogledi.py
# Uvozi modul HttpResponseiz djanga.http.odziv uvoz HttpResponse
# Uvozi modul upodabljanja
iz djanga.bližnjice uvoz upodabljajo
# Uvozi obrazec stranke
iz validationapp.obrazci za uvoz
# Določite funkcijo za dodajanje vnosa stranke
def AddCustomer (zahteva):
če zahteva.metoda == "OBJAVI":
form = CustomerForm (zahteva.OBJAVI)
# Če so podatki obrazca veljavni ali ne
če obrazec.is_valid ():
poskusite:
# Podatke obrazca shranite v bazo podatkov
oblika.shrani ()
# Določite sporočilo za uporabnika
podatki = ['
Podatki o strankah so bili pravilno vstavljeni.
Dodajte še eno']
# Vrnite odgovor
vrni HttpResponse (podatki)
razen:
podajo
sicer:
# Določite objekt obrazca
form = CustomerForm ()
# Pokažite obrazec za vpis stranke
vrnitev upodabljanja (zahteva, 'kupec.html ', ' obrazec ': obrazec)
Spremenite URL-ji.py datoteko projekta Django z naslednjim skriptom. V skriptu sta opredeljeni dve poti. 'kupec /' pot bo uporabljen za prikaz obrazca za dodajanje novih evidenc strank. The 'admin /' pot bo uporabljena za prikaz nadzorne plošče za upravljanje Django.
URL-ji.py
# Uvozi skrbniški moduliz djanga.prispevaj uvoz admin
# Uvoz modula poti
iz djanga.pot za uvoz URL-jev
# Uvozi pogled
iz pogledov uvoza validationapp
# Določite pot za stranko in skrbnika
urlpatterns = [
pot ('kupec /', pogledi.AddCustomer),
pot ('admin /', admin.spletnem mestu.urls)
]
Zaženite strežnik Django in v brskalniku izvedite naslednji URL, da se prikaže obrazec za vnos stranke. Če je Shrani pritisnete, ne da bi v obrazec dodali kakršne koli podatke, nato se bo pojavila naslednja stran z napakami, da bodo obvezna polja prazna.
Če so za e-poštno polje nastavljeni neveljavni podatki, se prikaže naslednja napaka.
Če je obrazec oddan z veljavnimi podatki, se prikažejo naslednji podatki. Če uporabnik klikneDodaj drugo ' povezava, se bo znova prikazal obrazec za vstavljanje podatkov za naslednji zapis.
Zaključek
Način preverjanja veljavnosti obrazca Django je bil prikazan v tej vadnici z ustvarjanjem preproste aplikacije Django. Navedena aplikacija bo razvijalcem Django pomagala razumeti pomen preverjanja veljavnosti obrazcev in bi to lahko storili pravilno.