Python

Kako ustvariti obrazec Django?

Kako ustvariti obrazec Django?
Uporaba obrazca je bistveni del katere koli spletne aplikacije. Prispevek uporabnikov spletnega mesta lahko dobite na obrazcu. Vsebuje lahko različne vrste polj, kot so besedilno polje, kombinirano polje, potrditveno polje, izbirni gumb itd. zajemanje podatkov od uporabnikov. Okvir Django vsebuje veliko število knjižnic, ki spletnemu razvijalcu pomagajo oblikovati obrazec HTML za prevzem uporabnikovega vnosa, obdelavo vnosa in odziv na uporabnikov vnos.

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 formapp

Ustvari 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 module
iz 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 obrazcev
iz 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.





Obrazec za registracijo uporabnikov



% csrf_token%
oblika.kot_p



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 module
iz 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.

Top 5 kartic za zajemanje iger
Vsi smo v YouTubu videli in oboževali pretakanje iger. PewDiePie, Jakesepticye in Markiplier so le nekateri izmed najboljših igralcev, ki so zaslužili...
Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...
Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...