Django

Provjera obrazaca u Djangu

Provjera obrazaca u Djangu

Provjera obrazaca vrlo je važan zadatak bilo koje web aplikacije za unos valjanih podataka u bazu podataka. Korisnici aplikacije neće moći umetnuti nevaljane podatke ako su podaci obrasca provjereni prije slanja. Django se naziva MVT (Model View Template) okvir temeljen na kojem zadaću kontrolera obavlja sam taj okvir. Zadaće povezane s bazom podataka obavlja Model, a podaci se prikazuju u predlošku pomoću Pregleda. Polja obrasca generiraju se na temelju određenog modela koji će umetnuti podatke u Django bazu podataka nakon provjere valjanosti. Preglednik vrši jednu vrstu provjere na temelju vrste polja koja je definirana u modelu. Koristiti is_valid () funkcija je još jedan način provjere podataka obrasca jesu li oni valjani ili ne nakon podnošenja obrasca. Ovaj vodič će vam pokazati kako se podaci mogu umetnuti u Django bazu podataka nakon provjere valjanosti obrasca.

Preduvjeti

Prije vježbanja skripte ovog vodiča, morate izvršiti sljedeće zadatke:

  1. Instalirajte Django verziju 3+ na Ubuntu 20+ (po mogućnosti)
  2. Stvorite Django projekt
  3. Pokrenite Django poslužitelj kako biste provjerili poslužitelj ispravno radi ili ne.

Postavite aplikaciju Django

1. Pokrenite sljedeću naredbu za stvaranje Django aplikacije s imenom validationapp.

$ python3 upravljanje.py startapp validacijapp

2. Pokrenite sljedeću naredbu za stvaranje korisnika koji se koristi za pristup Django bazi podataka. Ako ste već stvorili korisnika, tada ne morate pokretati naredbu.

$ python3 upravljanje.py stvarauporabitelja

3. Dodajte naziv aplikacije u INSTALLED_APP dio py datoteka.

INSTALLED_APPS = [
..
'validationapp'
]

4. Stvorite mapu s imenom predlošci unutar validationapp mapu i postavite predložaka mjesto aplikacije u PREDLOZI dio py datoteka.

PREDLOZI = [

.. .
'DIRS': ['/ home / fahmida / django_pro / validationapp / predlošci'],
.. .
,
]

Provjera obrazaca Django

Morate napisati kod za sljedeće datoteke da biste provjerili zadatak provjere valjanosti obrasca u Djangu.

Stvorite model

Otvori modeli.py datoteku iz mape aplikacije i dodajte sljedeću skriptu da biste stvorili strukturu kupci stol. Tablica će sadržavati četiri polja. To su puno_ime, e-adresa, kontakt_no i tip_kupac. Ovdje se tip_kupac stvara prema vrsti odabira. To znači da korisnik mora odabrati bilo koju vrijednost s padajućeg popisa.

modeli.py

# Uvoz modela
iz djanga.db modeli uvoza
# Definirajte klasu za ulazak kupaca
razred Kupac (modeli.Model):
# Definirajte vrijednosti za vrstu kupca
vrsta = (
('plaćeno', 'plaćeno'),
('besplatno', 'besplatno')
)
# Definirajte polja za tablicu kupaca
puno_ime = modeli.CharField (max_length = 50)
e-mail = modeli.Polje e-pošte ()
contact_no = modeli.CharField (max_length = 20)
kupac_tip = modeli.CharField (maksimalna_duljina = 32, izbori = vrsta, zadani = 'besplatni')

Registrirajte model

Dodajte sljedeću skriptu u admin.py datoteka za registraciju Kupac model u Django bazi podataka za pristup kupci tablica s administrativne nadzorne ploče Django.

admin.py

# Uvoz administrativnog modula
iz djanga.doprinos uvoz admin
# Uvoz modela kupca
iz .modeli uvoz kupac
# Registrirajte model kupca
admin.web mjesto.registrirati (kupac)

Stvoriti oblici.py unutar mape aplikacije i dodajte sljedeću skriptu da definirate klasu za izradu obrasca na temelju spomenutih polja kupac model.

oblici.py

# Uvoz modula obrazaca
iz obrazaca za uvoz django
# Uvoz modela kupca
iz validationapp.modeli uvoz kupac
# Definirajte klasu za obrazac kupca
klasa CustomerForm (obrasci.ModelForm):
klasa Meta:
model = kupac
polja = ('puno_ime', 'email', 'contact_no', 'customer_type')

Izradi predložak

Stvorite HTML datoteku s imenom kupac.html sa sljedećom skriptom za prikaz prethodno dizajniranog obrasca s Uštedjeti dugme.

kupac.html





Obrazac za registraciju korisnika


Obrazac za prijavu kupca

% csrf_token%
obrazac.kao_p



Umetni podatke nakon provjere valjanosti obrasca

Izmijenite sadržaj pogleda.py datoteka sa sljedećom skriptom. AddCustomer () funkcija koristi se u skripti za umetanje novog zapisa u kupci tablica nakon provjere valjanosti obrasca. Ako obrazac nije poslan, obrazac će se učitati pomoću kupac.html datoteka. Ako se obrazac preda s važećim podacima, novi će se zapis umetnuti pomoću uštedjeti() funkcija i poruka o uspjehu bit će ispisana u pregledniku s opcijom dodavanja drugog zapisa.

pogleda.py

# Uvoz modula HttpResponse
iz djanga.http.odgovor uvoz HttpResponse
# Uvoz modula prikaza
iz djanga.prečaci uvoz render
# Uvezi obrazac kupca
iz validationapp.obrasci uvoz CustomerForm
# Definirajte funkciju za dodavanje unosa kupca
def AddCustomer (zahtjev):
ako zahtjev.metoda == "OBJAVI":
form = Korisnički obrazac (zahtjev.OBJAVI)
# Ako su podaci obrasca valjani ili ne
ako oblik.is_valid ():
probati:
# Spremite podatke obrasca u bazu podataka
oblik.uštedjeti()
# Definirajte poruku za korisnika
podaci = ['

Podaci kupca umetnuti su ispravno.


Dodajte još jedan']
# Vratite odgovor
vrati HttpResponse (podaci)
osim:
proći
drugo:
# Definirajte objekt oblika
obrazac = CustomerForm ()
# Pokažite obrazac za prijavu kupca
return render (zahtjev, 'kupac.html ', ' obrazac ': obrazac)

Izmijenite url adrese.py datoteka projekta Django sa sljedećom skriptom. U skripti su definirane dvije staze. 'kupac /' put će se koristiti za prikaz obrasca za dodavanje novih evidencija kupaca. The 'admin /' put će se koristiti za prikaz nadzorne ploče uprave Django.

url adrese.py

# Uvoz administrativnog modula
iz djanga.doprinos uvoz admin
# Uvoz modula puta
iz djanga.put uvoza URL-ova
# Uvoz pogleda
iz pregleda uvoza validationapp
# Definirajte put za kupca i administratora
urlpatterns = [
path ('kupac /', prikazi.AddCustomer),
put ('admin /', admin.web mjesto.URL-ovi)
]

Pokrenite Django poslužitelj i pokrenite sljedeći URL iz preglednika za prikaz korisničkog obrasca za unos. Ako je Uštedjeti tipka se pritisne bez dodavanja podataka u obrazac, tada će se pojaviti sljedeća stranica s pogreškama zbog zadržavanja praznih polja.

Ako su nevaljani podaci postavljeni za polje e-pošte, pojavit će se sljedeća pogreška.

Sljedeće će se informacije pojaviti ako se obrazac pošalje s valjanim podacima. Ako korisnik klikne naDodaj još ' link, obrazac će se ponovno pojaviti za umetanje podataka za sljedeći zapis.

Zaključak

Način provjere valjanosti Django obrasca prikazan je u ovom vodiču izradom jednostavne Django aplikacije. Spomenuta aplikacija pomoći će programerima Djanga da shvate važnost provjere valjanosti obrazaca i mogli bi to učiniti ispravno.

Kako razviti igru ​​na Linuxu
Prije deset godina malo je Linux korisnika predviđalo da će njihov omiljeni operativni sustav jednog dana biti popularna platforma za igranje komercij...
Luke komercijalnih igara s otvorenim kodom
Besplatne igre s otvorenim kodom i više platformi mogu se koristiti za igranje starih, kao i nekih prilično nedavnih naslova igara. U ovom će se člank...
Najbolje igre naredbenog retka za Linux
Naredbeni redak nije samo vaš najveći saveznik pri korištenju Linuxa - on također može biti izvor zabave jer ga možete koristiti za igranje mnogih zab...