Skjemavalidering er en veldig viktig oppgave for enhver webapplikasjon å legge inn gyldige data i databasen. Brukerne av applikasjonen vil ikke kunne sette inn ugyldige data hvis skjemadata blir validert før de sender inn. Django kalles MVT (Model View Template) -baserte rammer der kontrollerens oppgave gjøres av dette rammeverket i seg selv. De databaserelaterte oppgavene gjøres etter modell, og dataene presenteres for malen ved hjelp av visning. Feltene i et skjema genereres basert på den aktuelle modellen som vil sette inn data i Django -databasen etter validering. En type validering gjøres av nettleserbasert på felttypen som er definert i modellen. Bruker er gyldig() Funksjon er en annen måte å sjekke skjemaets data om de er gyldige eller ikke etter å ha sendt skjemaet. Denne opplæringen viser deg hvordan dataene kan settes inn i Django -databasen etter å ha validert skjemaet.
Forutsetninger
Før du øver på skriptet til denne opplæringen, må du fullføre følgende oppgaver:
Sett opp en Django -app
1. Kjør følgende kommando for å opprette en Django -app som heter ValidationApp.
$ Python3 Administrer.py startapp validationApp2. Kjør følgende kommando for å opprette brukeren som brukes til å få tilgang til Django -databasen. Hvis du har opprettet brukeren før, trenger du ikke kjøre kommandoen.
$ Python3 Administrer.Py CreateSuperuser3. Legg til appnavnet i Installert_app del av py fil.
Installert_apps = [4. Opprett en mappe som heter Maler inne i ValidationApp mappe og angi malens Plasseringen av appen i Maler del av py fil.
Maler = [Django formvalidering
Du må skrive koden for følgende filer for å sjekke skjemavalideringsoppgaven i Django.
Lag modellen
Åpne modeller.py fil fra app -mappen og legg til følgende skript for å opprette strukturen til Kunder bord. Tabellen vil inneholde fire felt. Dette er full_navn, e -post, kontakt_no og customer_type. Her opprettes Customer_Type etter valgtype. Det betyr at brukeren må velge hvilken som helst verdi fra rullegardinlisten.
modeller.py
# Importer modellerRegistrer modellen
Legg til følgende skript i Administratoren.py fil for å registrere Kunde modell i Django -databasen for å få tilgang til Kunder Bord fra Django Administrative Dashboard.
admin.py
# Importer administratormodulSkape skjemaer.py Inne i app -mappen og legg til følgende skript for å definere klassen for å lage skjemaet basert på nevnte felt av kunden modell.
skjemaer.py
# Importer skjemamodulLag mal
Lag en HTML -fil som heter kunde.html med følgende skript for å vise det tidligere designet skjemaet med Lagre knapp.
kunde.html
Skjema for kundeinnføring
Sett inn data etter skjemavalidering
Endre innholdet i utsikt.py fil med følgende skript. AddCustomer () Funksjon brukes i skriptet for å sette inn en ny post i Kunder Tabell etter å ha validert skjemaet. Hvis skjemaet ikke sendes inn, vil skjemaet lastes inn ved hjelp av kunden.html fil. Hvis skjemaet sendes inn med gyldige data, vil en ny post bli satt inn ved hjelp av lagre() Funksjon og en suksessmelding vil bli skrevet ut i nettleseren med muligheten til å legge til en annen post.
utsikt.py
# Importer httpResponse -modulKundedataene som er satt inn riktig.
Endre URLS.py Fil av Django -prosjektet med følgende skript. To stier er definert i skriptet. 'kunde/' banen vil bli brukt til å vise skjemaet for å legge til de nye kundepostene. De 'admin/' Stien vil bli brukt til å vise Django Administration Dashboard.
URLS.py
# Importer administratormodulKjør Django -serveren og utfør følgende URL fra nettleseren for å vise kundeinnføringsskjemaet. Hvis Lagre Knappen trykkes uten å legge til noen data i skjemaet, så vises følgende side med feil for å holde nødvendige felt tomme.
Hvis de ugyldige dataene er angitt for e -postfeltet, vil følgende feil vises.
Følgende informasjon vises hvis skjemaet sendes inn med gyldige data. Hvis brukeren klikker på 'Legg til en annen' lenke, skjemaet vises igjen å sette inn data for neste post.
Konklusjon
Måten å validere en Django -skjema ble vist i denne opplæringen ved å lage en enkel Django -app. Den nevnte appen vil hjelpe Django -utviklere til å forstå viktigheten av formvalidering, og de vil kunne gjøre det ordentlig.