Pytonorm

Hur man skapar Django-formulär?

Hur man skapar Django-formulär?
Användningen av formuläret är en viktig del av alla webbapplikationer. Inmatningen från webbplatsanvändarna kan tas med hjälp av formuläret. Den kan innehålla olika typer av fält, till exempel textruta, kombinationsruta, kryssruta, alternativknapp osv. att ta data från användarna. Django ramverk innehåller ett stort antal bibliotek som hjälper webbutvecklaren att utforma ett HTML-formulär för att ta in input från användaren, bearbeta input och svara på användarens input.

Hur HTML-formulär kan användas för att ta data från användaren, läsa inmatningsvärdena och skriva ut värdena i webbläsaren med Django visas i denna handledning.

Förutsättningar:

Du måste skapa ett Django-projekt innan du skapar Django-formuläret. För att skapa ett nytt Django-projekt och gå till projektmappen, kör följande kommandon:

$ django-admin startprojekt django_pro
$ cd django_pro

För att skapa nödvändiga filer och tillämpa migreringar för projektet, kör följande kommando:

$ python3 hantera.py migrera

För att kontrollera om Django-servern fungerar korrekt eller inte, kör följande kommando:

$ python3 hantera.py runserver

Att skapa formapp under django_pro projekt, kör följande kommando:

$ python3 hantera.py startapp formapp

Skapa HTML-formulär med Django:

Öppna utsikt.py filen som finns inuti formapp och ändra dess innehåll med följande innehåll. I följande skript kontrolleras om formuläret skickas in eller inte. Om formuläret skickas in kommer värdet på begäran.metod kommer att vara POST och begäran.POSTA.skaffa sig() metoden används för att läsa de skickade värdena. De är giltig() funktionen kommer att kontrollera om uppgifterna i formuläret är giltiga eller inte. Om den här funktionen returnerar sant kommer ett framgångsmeddelande med giltig användares data att skrivas ut i webbläsaren, annars visas felmeddelandet som visas i det specifika fältet i formuläret. Annat än det framställa() metoden används för att ladda formuläret i webbläsaren och HttpResponse () metoden används för att skicka svaret från servern till webbläsaren efter att ha skickat formuläret.

# Importera nödvändiga moduler
från django.genvägar importeras
från formapp.formulär importerar StudentForm
från django.http importera HttpResponse
def form_request (begäran):
# Kontrollera att formuläret är skickat eller inte
om begäran.metod == 'POST':
student = StudentForm (begäran.POSTA)
# Kontrollera att formulärdata är giltiga eller inte
om student.är giltig():
# Läs de inlämnade värdena
namn = begäran.POSTA.hämta namn")
e-post = begäran.POSTA.få ("e-post")
användarnamn = begäran.POSTA.få ("användarnamn")
# Slå ihop värdena
data = ['Din registrering är klar.
',' Namn: ', namn,'
',' E-post: ', e-post,'
',' Användarnamn: ', användarnamn]
# Returnera formulärvärdena som svar
returnera HttpResponse (data)
annan:
# Visa html-formuläret
student = StudentForm ()
return render (begäran, "formulär.html ", 'form': student)

Skapa former.py inuti formapp mappen och lägg till följande innehåll. Följande skript skapar en form av fyra fält. De namn fältet är definierat för att ta teckendata och det kan vara 40 tecken långt. De e-post fältet är definierat så att det tar vilken giltig e-postadress som helst med hjälp av teckendata och den kan bestå av 50 tecken. De Användarnamn fältet är definierat för att ta teckendata, och det kan vara 20 tecken långt. De Lösenord fältet är definierat för att ta teckendata och det kan vara minst 10 tecken och högst 20 tecken långt. De former.PasswordInput widget används för lösenordsfältet för att dölja innehållet i lösenordsfältet.

# Importera formulärmoduler
från django importformulär
# Skapa klass för att definiera formulärfälten
klass StudentForm (formulär.Form):
namn = formulär.CharField (label = "Fullt namn", max_length = 40)
e-post = formulär.EmailField (label = "Email", max_length = 50)
användarnamn = formulär.CharField (label = "Användarnamn", max_length = 20)
lösenord = formulär.CharField (label = "Password", min_length = 10, max_length = 20, widget = forms.PasswordInput)

Skapa en mapp med namnet mallar inuti formapp mapp. Gå till MALLAR avsnitt av inställningarna.py filen och ställ in platsen för mall mapp för DIRS fast egendom.

inställningar.py

MALLAR = [

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

Skapa form.html inuti mall mapp med följande innehåll.

% csrf_token% används i HTML-skriptet för att förhindra CSRF-attacker (Cross-Site Request Forgeries). form.som_p kommer att ladda Django-formuläret som är designat av former.py fil. När Skicka in -knappen trycks in kommer formulärdata skickas till servern.





Användarregistreringsformulär



% csrf_token%
form.som_p



Öppna webbadresser.py från django_pro mapp och ändra innehållet med följande innehåll.

Här, den 'Registrera/' sökväg används för att ladda formuläret i webbläsaren.

# Importera nödvändiga moduler
från django.webbadress för webbadresser
från formappsimportvyer
# Anropsmetod för att visa formuläret
urlmönster = [
sökväg ('register /', vyer.form_request)
]

Öppna valfri webbläsare och skriv följande URL för att ladda användarregistreringsformuläret i webbläsaren.

http: // localhost: 8000 / register

Följande utdata visas efter att URL: n har körts. Valideringen för det tomma fältet, det maximala längdvärdet för namn-, e-post- och lösenordsfält samt minimi- och maxlängden för lösenordsfältet kommer att kontrolleras efter att formuläret har skickats.

Följande utdata visar att lösenordsfältet är ogiltigt. Enligt formuläret måste lösenordets värde vara mellan 10 och 20 tecken. 5 tecken har givits som inmatning i följande form. För detta visas felmeddelandet i formuläret.

Efter att du har angett den giltiga utdata i alla fält i formuläret visas följande utdata.

Slutsats:

Sättet att skapa ett mycket enkelt användarregistreringsformulär i Django-applikationen har visats i denna handledning. Django har många metoder för att skapa olika typer av fält i formuläret, till exempel CharField (), EmailField (), TextFiled, etc. Formvalideringsuppgiften blir mycket lättare när formuläret är utformat av Django form.

Mus Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Så här vänder du mus- och styrplattans rullningsriktning i Windows 10
Mus och Pekplattas gör inte bara datoranvändning lättare men effektivare och mindre tidskrävande. Vi kan inte föreställa oss ett liv utan dessa enhete...
Mus Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Så här ändrar du muspekare och markörstorlek, färg och schema på Windows 10
Muspekaren och markören i Windows 10 är mycket viktiga aspekter av operativsystemet. Detta kan också sägas för andra operativsystem, så i sanning är d...
Gratis och öppen källkodsmotorer för utveckling av Linux-spel
Den här artikeln kommer att täcka en lista över gratis motorer med öppen källkod som kan användas för att utveckla 2D- och 3D-spel på Linux. Det finns...