Python

Sådan oprettes Django-formular?

Sådan oprettes Django-formular?
Brug af formularen er en væsentlig del af enhver webapplikation. Input fra webstedsbrugerne kan tages ved hjælp af formularen. Det kan indeholde forskellige typer felter, såsom tekstfelt, kombinationsboks, afkrydsningsfelt, alternativknap osv. at tage data fra brugerne. Django framework indeholder et stort antal biblioteker, der hjælper webudvikleren med at designe en HTML-formular til at tage input fra brugeren, behandle input og reagere på brugerens input.

Hvordan HTML-formular kan bruges til at tage data fra brugeren, læse inputværdierne og udskrive værdierne i browseren ved hjælp af Django, vises i denne vejledning.

Forudsætninger:

Du skal oprette et Django-projekt, inden du opretter Django-formularen. For at oprette et nyt Django-projekt og gå til projektmappen skal du køre følgende kommandoer:

$ django-admin startprojekt django_pro
$ cd django_pro

For at oprette nødvendige filer og anvende migrationer til projektet skal du køre følgende kommando:

$ python3 administrere.py migrere

For at kontrollere, om Django-serveren fungerer korrekt eller ikke, skal du køre følgende kommando:

$ python3 administrere.py runserver

At oprette formapp under django_pro projekt, kør følgende kommando:

$ python3 administrere.py startapp formapp

Opret HTML-formular ved hjælp af Django:

Åbn synspunkter.py fil, der er indeni formapp mappe og redigere dens indhold med følgende indhold. Følgende script kontrollerer, om formularen er indsendt eller ej. Hvis formularen indsendes, er værdien af anmodning.metode bliver POST og anmodning.STOLPE.få() metoden bruges til at læse de indsendte værdier. Det er gyldig() funktion vil kontrollere, om dataene i formularen er gyldige eller ej. Hvis denne funktion returnerer sand, udskrives en succesmeddelelse med den gyldige brugers data i browseren, ellers vises fejlmeddelelsen, der vises i det bestemte felt i formularen. Bortset fra det, den gengive () metode bruges til at indlæse formularen i browseren og HttpResponse () metode bruges til at sende svaret fra serveren til browseren efter indsendelse af formularen.

# Importer nødvendige moduler
fra django.genveje import gengivelse
fra formapp.formularer importerer StudentForm
fra django.http importer HttpResponse
def form_request (anmodning):
# Kontroller, at formularen er indsendt eller ej
hvis anmodning.metode == 'POST':
student = StudentForm (anmodning.STOLPE)
# Kontroller, at formulardataene er gyldige eller ej
hvis studerende.er gyldig():
# Læs de indsendte værdier
navn = anmodning.STOLPE.få ("navn")
e-mail = anmodning.STOLPE.få ("e-mail")
brugernavn = anmodning.STOLPE.få ("brugernavn")
# Flet værdierne
data = ['Din registrering er gennemført.
',' Navn: ', navn,'
',' E-mail: ', e-mail,'
',' Brugernavn: ', brugernavn]
# Returner formularværdierne som svar
returner HttpResponse (data)
andet:
# Vis html-formularen
student = StudentForm ()
returner gengivelse (anmodning, "form.html ", 'form': student)

skab formularer.py inde i formapp mappe, og tilføj følgende indhold. Det følgende script opretter en form af fire felter. Det navn felt er defineret til at tage tegndata, og det kan bestå af 40 tegn. Det e-mail felt er defineret til at tage enhver gyldig e-mail-adresse ved hjælp af tegndataene, og den kan bestå af 50 tegn. Det brugernavn felt er defineret til at tage tegndata, og det kan bestå af 20 tegn. Det adgangskode felt er defineret til at tage tegndata, og det kan være mindst 10 tegn og maksimalt 20 tegn langt. Det formularer.PasswordInput widget bruges til adgangskodefeltet til at skjule indholdet af adgangskodefeltet.

# Importer formularmoduler
fra django importformularer
# Opret klasse for at definere formularfelterne
klasse StudentForm (formularer.Form):
navn = formularer.CharField (label = "Fuldt navn", max_length = 40)
e-mail = formularer.EmailField (label = "Email", max_length = 50)
brugernavn = formularer.CharField (label = "Brugernavn", max_length = 20)
adgangskode = formularer.CharField (label = "Password", min_length = 10, max_length = 20, widget = forms.PasswordInput)

Opret en mappe med navnet skabeloner inde i formapp folder. Gå til MALLER sektion af indstillingerne.py fil og indstil placeringen af skabelon mappe til DIRS ejendom.

indstillinger.py

MALLER = [

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

skab form.html inde i skabelon mappe med følgende indhold.

% csrf_token% bruges i HTML-scriptet til at forhindre CSRF-angreb (Cross-Site Request Forgeries). form.som_p vil indlæse Django-formularen, der er designet af formularer.py fil. Når Indsend der trykkes på knappen, sendes formulardataene til serveren.





Brugerregistreringsformular



% csrf_token%
form.som_p



Åbn webadresser.py fra django_pro mappe og rediger indholdet med følgende indhold.

Her, den 'Tilmeld/' sti bruges til at indlæse formularen i browseren.

# Importer nødvendige moduler
fra django.webadresser til import af sti
fra formapps importvisninger
# Opkaldsmetode for at få vist formularen
urlmønstre = [
sti ('register /', visninger.form_forespørgsel)
]

Åbn enhver browser, og skriv følgende URL for at indlæse brugerregistreringsformularen i browseren.

http: // localhost: 8000 / register

Følgende output vises efter kørsel af URL'en. Valideringen for det tomme felt, den maksimale længde af navn-, e-mail- og adgangskodefelterne, og minimums- og maksimumlængdeværdierne for adgangskodefeltet kontrolleres efter indsendelse af formularen.

Følgende output viser, at adgangskodefeltet er ugyldigt. I henhold til formularen skal adgangskodens værdi være mellem 10 og 20 tegn. 5 tegn er givet som input i følgende form. Til dette viser formularen fejlmeddelelsen.

Efter indtastning af det gyldige output i hvert felt i formularen vises følgende output.

Konklusion:

Måden at oprette en meget enkel brugerregistreringsformular i Django-applikationen er vist i denne vejledning. Django har mange metoder til at oprette forskellige typer felter i formularen, såsom CharField (), EmailField (), TextFiled osv. Formularvalideringsopgaven bliver meget lettere, når formularen er designet af Django form.

Kamp om Wesnoth 1.13.6 Udvikling frigivet
Kamp om Wesnoth 1.13.6 udgivet i sidste måned, er den sjette udviklingsudgivelse i 1.13.x-serien, og den leverer en række forbedringer, især til bruge...
Sådan installeres League Of Legends på Ubuntu 14.04
Hvis du er fan af League of Legends, er dette en mulighed for dig at prøvekøre League of Legends. Bemærk, at LOL understøttes på PlayOnLinux, hvis du ...
Installer det nyeste OpenRA-strategispil på Ubuntu Linux
OpenRA er en Libre / Free Real Time Strategy-spilmotor, der genskaber de tidlige Westwood-spil som det klassiske Command & Conquer: Red Alert. Distrib...