V tej vadnici je prikazano, kako lahko z obrazcem HTML uporabniku vzamemo podatke, preberemo vhodne vrednosti in natisnemo vrednosti v brskalniku z Django.
Pogoji:
Pred izdelavo obrazca Django morate ustvariti projekt Django. Če želite ustvariti nov projekt Django in odpreti mapo projekta, zaženite naslednje ukaze:
$ django-admin startproject django_pro$ cd django_pro
Če želite ustvariti potrebne datoteke in uporabiti selitve za projekt, zaženite naslednji ukaz:
$ python3 upravljanje.py selijoČe želite preveriti, ali strežnik Django deluje pravilno ali ne, zaženite naslednji ukaz:
$ python3 upravljanje.py runserverČe želite ustvariti formapp Spodaj django_pro projekt, zaženite naslednji ukaz:
$ python3 upravljanje.py startapp formappUstvari obrazec HTML z uporabo Django:
Odprite pogledi.py datoteka, ki je znotraj formapp mapo in spremenite njeno vsebino z naslednjo vsebino. Naslednji skript bo preveril, ali je obrazec oddan ali ne. Če je obrazec oddan, je vrednost prošnja.metoda bo POST in prošnja.OBJAVI.dobili () metoda se uporablja za branje predloženih vrednosti. The is_valid () funkcija bo preverila, ali so podatki obrazca veljavni ali ne. Če ta funkcija vrne true, se bo v brskalniku natisnilo sporočilo o uspehu z veljavnimi uporabniškimi podatki, sicer se prikaže sporočilo o napaki, ki se prikaže v določenem polju obrazca. Razen tega upodobi () metoda se uporablja za nalaganje obrazca v brskalnik in HttpResponse () metoda se uporablja za pošiljanje odgovora s strežnika v brskalnik po oddaji obrazca.
# Uvozite potrebne moduleiz djanga.bližnjice uvoz upodabljajo
iz formapp.obrazci uvoz StudentForm
iz djanga.http uvoz HttpResponse
def form_request (zahteva):
# Preverite, ali je obrazec oddan ali ne
če zahteva.metoda == 'OBJAVI':
student = StudentForm (zahteva.OBJAVI)
# Preverite, ali so podatki obrazca veljavni ali ne
če študent.is_valid ():
# Preberite predložene vrednosti
ime = zahteva.OBJAVI.get ("ime")
email = zahteva.OBJAVI.get ("email")
uporabniško ime = zahteva.OBJAVI.get ("uporabniško ime")
# Spoji vrednosti
data = ['Vaša registracija je uspešno zaključena.
',' Ime: ', ime,'
',' E-pošta: ', e-pošta,'
',' Uporabniško ime: ', uporabniško ime]
# Vrnite vrednosti obrazca kot odgovor
vrni HttpResponse (podatki)
sicer:
# Prikažite html obrazec
student = StudentForm ()
vrnitev upodabljanja (zahteva, "obrazec.html ", 'obrazec': študent)
Ustvari obrazci.py znotraj formapp mapo in dodajte naslednjo vsebino. Naslednji skript bo ustvaril obliko štirih polj. The ime polje je določeno tako, da zajema podatke o znakih in je lahko dolgo 40 znakov. The E-naslov Polje je določeno tako, da zajema kateri koli veljaven e-poštni naslov z uporabo podatkov o znakih in je lahko dolgo 50 znakov. The uporabniško ime polje je določeno tako, da zajema podatke o znakih in je lahko dolgo 20 znakov. The geslo Polje je določeno tako, da zajema podatke o znakih in je lahko dolgo najmanj 10 znakov in največ 20 znakov. The obrazci.Vnos gesla widget se uporablja za polje gesla, da skrije vsebino polja gesla.
# Uvoz modulov obrazceviz obrazcev za uvoz django
# Ustvari razred za določitev polj obrazca
razred StudentForm (obrazci.Oblika):
ime = obrazci.CharField (oznaka = "Polno ime", največja dolžina = 40)
email = obrazci.EmailField (label = "Email", max_length = 50)
uporabniško ime = obrazci.CharField (label = "Uporabniško ime", največja dolžina = 20)
geslo = obrazci.CharField (label = "Password", min_length = 10, max_length = 20, widget = obrazci.Vnos gesla)
Ustvarite mapo z imenom predloge znotraj formapp mapo. Pojdi na PREDLOGE odsek nastavitve.py in nastavite lokacijo datoteke predloga mapa za DIRS lastnine.
nastavitve.py
PREDLOGE = ['DIRS': ['/ home / fahmida / django_pro / formapp / templates']
,
]
Ustvari oblika.html znotraj predloga mapo z naslednjo vsebino.
% csrf_token% se uporablja v skriptu HTML za preprečevanje napadov CSRF (Cross-Site Request Falseries). oblika.kot_p bo naložil obrazec Django, ki ga je zasnoval obrazci.py mapa. Ko Pošlji Če pritisnete gumb, bodo podatki obrazca poslani strežniku.
Odprite URL-ji.py Iz django_pro mapo in spremenite vsebino z naslednjo vsebino.
Tukaj 'register /' pot se uporablja za nalaganje obrazca v brskalnik.
# Uvozite potrebne moduleiz djanga.pot za uvoz URL-jev
iz pogledov uvoza formapp
# Klicna metoda za prikaz obrazca
urlpatterns = [
pot ('register /', pogledi.form_request)
]
Odprite kateri koli brskalnik in vnesite naslednji URL, da v brskalnik naložite obrazec za registracijo uporabnika.
http: // localhost: 8000 / register
Naslednji izhod se bo prikazal po zagonu URL-ja. Po oddaji obrazca se preverijo veljavnost praznega polja, vrednost največje dolžine polj za ime, e-pošto in geslo ter najmanjša in največja vrednost polja za geslo.
Naslednji izhod kaže, da je polje za geslo neveljavno. V skladu z obrazcem mora biti dolžina vrednosti gesla med 10 in 20 znaki. V naslednji obliki je bilo vnesenih 5 znakov. V tem primeru obrazec prikazuje sporočilo o napaki.
Po vnosu veljavnega izhoda v vsa polja obrazca se prikaže naslednji izhod.
Zaključek:
V tej vadnici je prikazan način ustvarjanja zelo preprostega obrazca za registracijo uporabnika v aplikaciji Django. Django ima veliko metod za ustvarjanje različnih vrst polj obrazca, na primer CharField (), EmailField (), TextFiled itd. Naloga za preverjanje veljavnosti obrazca postane zelo enostavna, ko obrazec oblikuje Django form.