Wie HTML-Formular verwendet werden kann, um Daten vom Benutzer zu übernehmen, die Eingabewerte zu lesen und die Werte im Browser mit Django zu drucken, wird in diesem Tutorial gezeigt.
Voraussetzungen:
Sie müssen ein Django-Projekt erstellen, bevor Sie das Django-Formular erstellen. Um ein neues Django-Projekt zu erstellen und zum Projektordner zu wechseln, führen Sie die folgenden Befehle aus:
$ django-admin startproject django_pro$ cd django_pro
Führen Sie den folgenden Befehl aus, um die erforderlichen Dateien zu erstellen und Migrationen für das Projekt anzuwenden:
$ python3 verwalten.py migrierenFühren Sie den folgenden Befehl aus, um zu überprüfen, ob der Django-Server ordnungsgemäß funktioniert oder nicht:
$ python3 verwalten.py-RunserverUm die . zu erstellen formapp unter django_pro Projekt, führen Sie den folgenden Befehl aus:
$ python3 verwalten.py startapp formappHTML-Formular mit Django erstellen:
Öffne das Ansichten.py Datei, die drin ist formapp Ordner und ändern Sie seinen Inhalt mit dem folgenden Inhalt. Das folgende Skript prüft, ob das Formular gesendet wurde oder nicht. Wenn das Formular gesendet wird, wird der Wert der Anfrage.Methode wird POST sein und Anfrage.POST.erhalten() Methode wird verwendet, um ihre übergebenen Werte zu lesen. Das ist gültig() Funktion prüft, ob die Daten des Formulars gültig sind oder nicht. Wenn diese Funktion true zurückgibt, wird im Browser eine Erfolgsmeldung mit den gültigen Benutzerdaten gedruckt, andernfalls wird die Fehlermeldung angezeigt, die auf dem jeweiligen Feld des Formulars erscheint. Davon abgesehen ist die machen() -Methode wird verwendet, um das Formular im Browser zu laden und HttpResponse() -Methode wird verwendet, um die Antwort vom Server nach dem Absenden des Formulars an den Browser zu senden.
# Erforderliche Module importierenvon django.Verknüpfungen importieren rendern
von formapp.Formulare importieren StudentForm
von django.HTTP-Import HttpResponse
def form_request(Anfrage):
# Überprüfen Sie, ob das Formular gesendet wurde oder nicht
wenn anfrage.Methode == 'POST':
student = StudentForm(Anfrage.POST)
# Überprüfen Sie, ob die Formulardaten gültig sind oder nicht
wenn Schüler.ist gültig():
# Lesen Sie die übermittelten Werte
Name = Anfrage.POST.get("Name")
E-Mail = Anfrage.POST.erhalten("E-Mail")
Benutzername = Anfrage.POST.get("Benutzername")
# Werte zusammenführen
data = ['Ihre Registrierung ist erfolgreich abgeschlossen.
', 'Name Name, '
', 'Email Email, '
', 'Benutzername:', Benutzername]
# Geben Sie die Formularwerte als Antwort zurück
HttpResponse(Daten) zurückgeben
sonst:
# Zeigen Sie das HTML-Formular an
student = StudentForm()
return render(request, "form.html", 'form': student)
Erstellen Formen.py innerhalb der formapp Ordner und fügen Sie den folgenden Inhalt hinzu. Das folgende Skript erstellt ein Formular mit vier Feldern. Das Name Feld ist für die Zeichendaten definiert und kann 40 Zeichen lang sein. Das Email Feld ist so definiert, dass es jede gültige E-Mail-Adresse mit den Zeichendaten akzeptiert und es kann 50 Zeichen lang sein. Das Nutzername Feld ist für die Zeichendaten definiert und kann 20 Zeichen lang sein. Das Passwort Feld ist für die Zeichendaten definiert und kann mindestens 10 Zeichen und maximal 20 Zeichen lang sein. Das Formen.Passworteingabe Widget wird für das Passwortfeld verwendet, um den Inhalt des Passwortfelds auszublenden.
# Formularmodule importierenaus Django-Importformularen
# Klasse erstellen, um die Formularfelder zu definieren
Klasse StudentForm(Formulare.Bilden):
Name = Formen.CharField(label="Vollständiger Name", max_length=40)
E-Mail = Formulare.EmailField(label="Email", max_length=50)
Benutzername = Formulare.CharField(label="Benutzername", max_length=20)
Passwort = Formulare.CharField(label="Password", min_length=10, max_length=20, widget=forms.Passworteingabe)
Erstellen Sie einen Ordner mit dem Namen Vorlagen innerhalb der formapp Mappe. Gehe zum VORLAGEN Abschnitt von Einstellungen.py Datei und legen Sie den Speicherort der Vorlage Ordner für die DIRS Eigentum.
die Einstellungen.py
VORLAGEN = ['DIRS': ['/home/fahmida/django_pro/formapp/templates']
,
]
Erstellen bilden.html innerhalb der Vorlage Ordner mit folgendem Inhalt.
% csrf_token % wird im HTML-Skript verwendet, um CSRF-Angriffe (Cross-Site Request Forgeries) zu verhindern. bilden.as_p lädt das Django-Formular, das von der entworfen wurde Formen.py Datei. Wenn der einreichen gedrückt wird, werden die Formulardaten an den Server übermittelt.
Öffne das URLs.py von dem django_pro Ordner und ändern Sie den Inhalt mit dem folgenden Inhalt.
Hier die 'registrieren/' Pfad wird verwendet, um das Formular im Browser zu laden.
# Erforderliche Module importierenvon django.URL-Importpfad
aus formapp-Importansichten
# Aufrufmethode zum Anzeigen des Formulars
URLmuster = [
path('register/', Ansichten.form_anfrage)
]
Öffnen Sie einen beliebigen Browser und geben Sie die folgende URL ein, um das Benutzerregistrierungsformular im Browser zu laden.
http://localhost:8000/register
Die folgende Ausgabe erscheint nach dem Ausführen der URL running. Die Validierung für das leere Feld, der maximale Längenwert der Namens-, E-Mail- und Passwortfelder sowie die minimalen und maximalen Längenwerte des Passwortfelds werden nach dem Absenden des Formulars überprüft.
Die folgende Ausgabe zeigt, dass das Passwortfeld ungültig ist. Laut Formular muss die Länge des Passwortwerts zwischen 10 und 20 Zeichen liegen. Im folgenden Formular wurden 5 Zeichen als Eingabe angegeben. Dazu zeigt das Formular die Fehlermeldung an.
Nach Eingabe der gültigen Ausgabe in jedes Feld des Formulars erscheint die folgende Ausgabe.
Fazit:
In diesem Tutorial wurde gezeigt, wie Sie ein sehr einfaches Benutzerregistrierungsformular in der Django-Anwendung erstellen. Django verfügt über viele Methoden zum Erstellen verschiedener Arten von Feldern des Formulars, wie z. B. CharField(), EmailField(), TextFiled usw. Die Formularvalidierungsaufgabe wird sehr einfacher, wenn das Formular von Django Form entworfen wurde.