Django

Vormi kinnitamine Djangos

Vormi kinnitamine Djangos

Vormi valideerimine on kõigi veebirakenduste jaoks väga oluline ülesanne kehtivate andmete sisestamiseks andmebaasi. Rakenduse kasutajad ei saa kehtetuid andmeid sisestada, kui vormi andmed on enne esitamist valideeritud. Django nimetatakse MVT (Model View Template) põhiseks raamistikuks, kus kontrolleri ülesande täidab see raamistik ise. Andmebaasiga seotud ülesanded teeb Model ja andmed esitatakse mallile View abil. Vormi väljad genereeritakse konkreetse mudeli põhjal, mis sisestab andmed pärast valideerimist Django andmebaasi. Ühe tüüpi valideerimise teeb brauser põhinedes mudelis määratletud välja tüübile. Kasutades on kehtiv() Funktsioon on veel üks viis vormi andmete kontrollimiseks, kas need on pärast vormi esitamist kehtivad või mitte. See õpetus näitab teile, kuidas andmeid pärast vormi kinnitamist Django andmebaasi sisestada.

Eeldused

Enne selle õpetuse skripti harjutamist peate täitma järgmised ülesanded:

  1. Installige Django versioon 3+ Ubuntu 20+ (eelistatult)
  2. Looge Django projekt
  3. Käivitage Django server, et kontrollida, kas server töötab korralikult või mitte.

Seadistage Django rakendus

1. Django nimelise rakenduse loomiseks käivitage järgmine käsk validationapp.

$ python3 hallata.py startapp validationapp

2. Django andmebaasile juurdepääsemiseks kasutatava kasutaja loomiseks käivitage järgmine käsk. Kui olete kasutaja varem loonud, ei pea te käsku käivitama.

$ python3 hallata.py loob ülikasutaja

3. Lisage rakenduse nimi rakendusse INSTALLED_APP osa py faili.

INSTALLED_APPS = [

'validationapp'
]

4. Looge kaust nimega mallid sees validationapp kaust ja määrake malli omad rakenduse asukoht MALLID osa py faili.

MALLID = [

… .
'DIRS': ['/ home / fahmida / django_pro / validationapp / templates'],
… .
,
]

Django vormi kinnitamine

Djangos vormi kinnitamise ülesande kontrollimiseks peate kirjutama järgmiste failide koodi.

Looge mudel

Ava mudelid.py fail rakenduse kaustast ja faili struktuuri loomiseks lisage järgmine skript klientidele tabel. Tabelis on neli välja. Need on täisnimi, e-posti aadress, kontakti nr ja kliendi tüüp. Siin luuakse kliendi_tüüp valikutüübi järgi. See tähendab, et kasutaja peab rippmenüüst valima mis tahes väärtuse.

mudelid.py

# Mudelite importimine
alates django.db impordimudelid
# Määratlege kliendi sisenemise klass
klassi klient (mudelid.Mudel):
# Määratlege kliendi tüübi väärtused
tüüp = (
(„tasuline“, „tasuline“),
("tasuta", "tasuta")
)
# Määratlege klienditabeli väljad
full_name = mudelid.CharField (max_pikkus = 50)
email = mudelid.EmailField ()
contact_no = mudelid.CharField (max_pikkus = 20)
klient_tüüp = mudelid.CharField (max_length = 32, valikud = type, vaikimisi = 'free')

Registreerige mudel

Lisage järgmine skript sisse admin.py faili registreerimiseks Klient mudelile Django andmebaasis klientidele tabel Django halduspaneelilt.

admin.py

# Impordi administraatori moodul
alates django.kaastöö impordi admin
# Impordi kliendimudel
alates .mudelid impordivad klienti
# Registreerige kliendimudel
admin.sait.registreeru (klient)

Loo vormid.py rakenduse kausta sees ja lisage järgmine skript klassi määratlemiseks, et luua vorm, mis põhineb domeeni klient mudel.

vormid.py

# Vormimooduli import
django impordivormidelt
# Importige kliendi mudel
alates validationapp.mudelid impordivad klienti
# Määratlege kliendivormi klass
klass ClientForm (vormid.ModelForm):
klassi Meta:
mudel = klient
väljad = ('täielik_nimi', 'e-post', 'kontakti nr', 'kliendi_tüüp')

Loo mall

Looge HTML-fail nimega klient.HTML järgmise skriptiga, et kuvada varem kujundatud vorm koos Salvesta nuppu.

klient.HTML





Kasutaja registreerimisvorm


Kliendi sisestamise vorm

% csrf_token%
vorm.as_p



Sisestage andmed pärast vormi kinnitamist

Muutke sisu vaated.py fail järgmise skriptiga. AddCustomer () Funktsiooni kasutatakse skriptis uue kirje sisestamiseks klientidele tabel pärast vormi kinnitamist. Kui vormi ei esitata, laaditakse vorm kasutades klient.HTML faili. Kui vorm esitatakse koos kehtivate andmetega, lisatakse uus kirje, kasutades salvesta () funktsioon ja edukateade prinditakse brauserisse võimalusega lisada veel üks kirje.

vaated.py

# Impordi HttpResponse moodul
alates django.http.vastuse importimine HttpResponse
# Impordi renderdamise moodul
alates django.otseteed impordi renderdamine
# Importige ClientForm
alates validationapp.vormid impordivad CustomerForm
# Defineeri funktsioon kliendi sisestuse lisamiseks
def AddCustomer (taotlus):
soovi korral.meetod == "POST":
vorm = CustomerForm (taotlus.POSTITAMINE)
# Kui vormi andmed on õiged või mitte
kui vorm.on kehtiv():
proovige:
# Salvestage vormi andmed andmebaasi
vormis.salvesta ()
# Määrake kasutajale sõnum
andmed = ['

Kliendi andmed on õigesti sisestatud.


Lisa veel üks']
# Tagastage vastus
tagastage HttpResponse (andmed)
välja arvatud:
üle andma
muu:
# Määrake vormi objekt
vorm = CustomerForm ()
# Kuva kliendi sisenemisvorm
return render (taotlus, 'klient.HTML ', ' vorm ': vorm)

Muutke URL-id.py Django projekti fail järgmise skriptiga. Skriptis on määratletud kaks rada. "klient /" Uute kliendikirjete lisamiseks kasutatakse vormi kuvamise teed. The 'admin /' rada kasutatakse Django administratsiooni juhtpaneeli kuvamiseks.

URL-id.py

# Impordi administraatori moodul
alates django.kaastöö impordi admin
# Importimooduli import
alates django.URL-ide importimise tee
# Importivaade
valideerimisrakenduse impordivaadetest
# Määrake kliendi ja administraatori tee
urlpatterns = [
tee ('klient /', vaated.AddCustomer),
tee ('admin /', admin.sait.URL-id)
]

Käivitage Django server ja käivitage brauseris järgmine URL, et kuvada kliendi sisestusvorm. Kui Salvesta nuppu vajutatakse ilma vormi andmeid lisamata, siis ilmub järgmine leht, kus on tõrkeid kohustuslike väljade tühjaks jätmisel.

Kui meiliväljale on seatud valed andmed, kuvatakse järgmine tõrge.

Kui vorm esitatakse koos kehtivate andmetega, kuvatakse järgmine teave. Kui kasutaja klõpsab nuppuLisa veel üks' lingi korral kuvatakse vorm uuesti järgmise kirje andmete sisestamiseks.

Järeldus

Selles õpetuses näidati Django vormi kinnitamise viisi, luues lihtsa Django rakenduse. Nimetatud rakendus aitab Django arendajatel mõista vormide valideerimise tähtsust ja nad saaksid seda korralikult teha.

League of Legendsi installimine Ubuntu 14-le.04
Kui olete League of Legends fänn, siis on see teile võimalus proovida League of Legendsit. Pange tähele, et LOL-i toetab PlayOnLinux, kui olete Linuxi...
Installige uusim OpenRA strateegiamäng Ubuntu Linuxi
OpenRA on tasuta / tasuta reaalajas strateegiamängumootor, mis loob uuesti Westwoodi varased mängud nagu klassikaline Command & Conquer: Red Alert. Ja...
Installige Linuxile uusim Dolphin Emulator for Gamecube & Wii
Dolphini emulaator võimaldab teil mängida valitud Gamecube & Wii mänge Linuxi personaalarvutites (PC). Vabalt saadaval oleva ja avatud lähtekoodiga m...