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 migrereFor å 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 formappOpprett 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 modulerfra 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 skjemamodulerfra 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.
Å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 modulerfra 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.