Python

Hvordan lage Django-skjema?

Hvordan lage Django-skjema?
Bruken av skjemaet er en viktig del av enhver webapplikasjon. Innspillene fra nettstedsbrukerne kan tas med skjemaet. Den kan inneholde forskjellige typer felt, for eksempel tekstboks, kombinasjonsboks, avkrysningsrute, alternativknapp osv. å ta data fra brukerne. Django framework inneholder et stort antall biblioteker for å hjelpe webutvikleren med å designe et HTML-skjema for å ta input fra brukeren, behandle input og svare på brukerens input.

Hvordan HTML-skjema kan brukes til å ta data fra brukeren, lese inngangsverdiene og skrive ut verdiene i nettleseren ved hjelp av Django, vises i denne veiledningen.

Forutsetninger:

Du må opprette et Django-prosjekt før du oppretter Django-skjemaet. For å opprette et nytt Django-prosjekt og gå til prosjektmappen, kjør følgende kommandoer:

$ django-admin startprosjekt django_pro
$ cd django_pro

For å opprette nødvendige filer og bruke migrasjoner for prosjektet, kjør følgende kommando:

$ python3 administrere.py migrere

For å sjekke om Django-serveren fungerer som den skal eller ikke, kjør følgende kommando:

$ python3 administrere.py runserver

Å lage formapp under django_pro prosjekt, kjør følgende kommando:

$ python3 administrere.py startapp formapp

Opprett HTML-skjema ved hjelp av Django:

Åpne utsikt.py filen som er inne formapp mappen og endre innholdet med følgende innhold. Følgende skript vil sjekke om skjemaet er sendt inn eller ikke. Hvis skjemaet sendes inn, blir verdien av be om.metode blir POST og be om.POST.få() metoden brukes til å lese de innsendte verdiene. De er gyldig() funksjon vil sjekke om dataene i skjemaet er gyldige eller ikke. Hvis denne funksjonen returnerer sant, vil en vellykket melding med den gyldige brukerens data skrives ut i nettleseren, ellers vises feilmeldingen som vises i det bestemte feltet i skjemaet. Annet enn det, den gjengi () metoden brukes til å laste inn skjemaet i nettleseren og HttpResponse () metoden brukes til å sende svaret fra serveren til nettleseren etter at skjemaet er sendt inn.

# Importer nødvendige moduler
fra django.snarveier import gjengis
fra formapp.skjemaer importerer StudentForm
fra django.http importer HttpResponse
def form_request (forespørsel):
# Sjekk at skjemaet er sendt inn eller ikke
hvis forespørsel.metode == 'POST':
student = StudentForm (forespørsel.POST)
# Sjekk skjemadataene er gyldige eller ikke
hvis student.er gyldig():
# Les de innsendte verdiene
navn = forespørsel.POST.få ("navn")
e-post = forespørsel.POST.få ("e-post")
brukernavn = forespørsel.POST.få ("brukernavn")
# Slå sammen verdiene
data = ['Registreringen er fullført.
',' Navn: ', navn,'
',' E-post: ', e-post,'
',' Brukernavn: ', brukernavn]
# Returner skjemaverdiene som svar
returner HttpResponse (data)
ellers:
# Vis html-skjemaet
student = StudentForm ()
return render (forespørsel, "skjema.html ", 'form': student)

Skape skjemaer.py inne i formapp mappen og legg til følgende innhold. Følgende skript vil opprette en form av fire felt. De Navn feltet er definert for å ta karakterdataene, og det kan bestå av 40 tegn. De e-post feltet er definert til å ta en hvilken som helst gyldig e-postadresse ved hjelp av tegndataene, og den kan være 50 tegn lang. De brukernavn feltet er definert for å ta karakterdataene, og det kan være 20 tegn langt. De passord felt er definert for å ta tegndata, og det kan være minst 10 tegn og maksimalt 20 tegn. De skjemaer.PasswordInput widget brukes til passordfeltet for å skjule innholdet i passordfeltet.

# Importer skjemamoduler
fra django importskjemaer
# Opprett klasse for å definere skjemafeltene
klasse StudentForm (skjemaer.Skjema):
navn = skjemaer.CharField (label = "Fullt navn", max_length = 40)
e-post = skjemaer.EmailField (label = "Email", max_length = 50)
brukernavn = skjemaer.CharField (label = "Brukernavn", max_length = 20)
passord = skjemaer.CharField (label = "Password", min_length = 10, max_length = 20, widget = forms.PasswordInput)

Opprett en mappe med navnet maler inne i formapp mappe. Gå til MALER seksjon av innstillingene.py fil og angi plasseringen til mal mappe for DIRS eiendom.

innstillinger.py

MALER = [

'DIRS': ['/ home / fahmida / django_pro / formapp / templates']
,
]

Skape skjema.html inne i mal mappe med følgende innhold.

% csrf_token% brukes i HTML-skriptet for å forhindre CSRF-angrep (Cross-Site Request Forgeries). skjema.som_p vil laste inn Django-skjemaet som er designet av skjemaer.py fil. Når Sende inn trykkes på knappen, vil skjemadataene sendes til serveren.





Brukerregistreringsskjema



% csrf_token%
skjema.som_p



Åpne nettadresser.py fra django_pro mappen og endre innholdet med følgende innhold.

Her, den 'registrere/' banen brukes til å laste inn skjemaet i nettleseren.

# Importer nødvendige moduler
fra django.URL-adresse for import
fra formapps importvisninger
# Ringmetode for å vise skjemaet
urlpatterns = [
sti ('register /', visninger.form_request)
]

Åpne hvilken som helst nettleser og skriv inn følgende URL for å laste inn brukerregistreringsskjemaet i nettleseren.

http: // localhost: 8000 / register

Følgende utdata vises etter at URL har kjørt. Valideringen for det tomme feltet, den maksimale lengdeverdien av navn-, e-post- og passordfeltene, og minimums- og maksimumsverdiene for passordfeltet vil bli sjekket etter at skjemaet er sendt inn.

Følgende utdata viser at passordfeltet er ugyldig. I følge skjemaet må passordverdien være mellom 10 og 20 tegn. 5 tegn er gitt som input i følgende skjema. For dette viser skjemaet feilmeldingen.

Etter at du har angitt gyldig utdata i hvert felt i skjemaet, vises følgende utdata.

Konklusjon:

Måten å lage et veldig enkelt brukerregistreringsskjema i Django-applikasjonen har blitt vist i denne veiledningen. Django har mange metoder for å lage forskjellige typer felt i skjemaet, for eksempel CharField (), EmailField (), TextFiled, etc. Formvalideringsoppgaven blir veldig enklere når skjemaet er designet av Django form.

Mus Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Hvis du finner ut at musemarkøren hopper eller beveger seg alene, automatisk, tilfeldig mens du skriver inn Windows-bærbar PC eller datamaskin, kan no...
Mus Hvordan reversere rulle retning for mus og styreplater i Windows 10
Hvordan reversere rulle retning for mus og styreplater i Windows 10
Mus og Pekeplates gjør ikke bare databehandling enkelt, men mer effektivt og mindre tidkrevende. Vi kan ikke forestille oss et liv uten disse enhetene...
Mus Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Musepekeren og markøren i Windows 10 er veldig viktige aspekter ved operativsystemet. Dette kan sies også for andre operativsystemer, så i sannhet er ...