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 migreraFör att kontrollera om Django-servern fungerar korrekt eller inte, kör följande kommando:
$ python3 hantera.py runserverAtt skapa formapp under django_pro projekt, kör följande kommando:
$ python3 hantera.py startapp formappSkapa 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 modulerfrå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ärmodulerfrå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.
Ö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 modulerfrå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.