So erstellen Sie Django -Form?

So erstellen Sie Django -Form?
Die Verwendung des Formulars ist ein wesentlicher Bestandteil jeder Webanwendung. Die Eingaben der Website -Benutzer können mit dem Formular übernommen werden. Es kann verschiedene Arten von Feldern enthalten, z. Daten von den Benutzern zu nehmen. Django Framework enthält eine große Anzahl von Bibliotheken, die dem Webentwickler dabei helfen.

Wie das HTML -Formular verwendet werden kann, um Daten vom Benutzer zu nehmen, die Eingabewerte zu lesen und die Werte im Browser mit Django zu drucken, wird in diesem Tutorial angezeigt.

Voraussetzungen:

Sie müssen ein Django -Projekt erstellen, bevor Sie das Django -Formular erstellen. Führen Sie die folgenden Befehle aus:

$ django-admin startproject django_project
$ 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 migrieren

Um zu überprüfen, ob der Django -Server ordnungsgemäß funktioniert oder nicht, führen Sie den folgenden Befehl aus:

$ python3 verwalten.Py Runserver

Um das zu erstellen Formapp unter django_pro Projekt, führen Sie den folgenden Befehl aus:

$ python3 verwalten.PY startApp FormApp

Erstellen Sie mit Django HTML -Formular:

Öffne das Ansichten.py Datei, die sich darin befindet Formapp Ordner und ändern Sie seinen Inhalt mit den folgenden Inhalten. Das folgende Skript prüft, ob das Formular eingereicht wird oder nicht. Wenn das Formular eingereicht wird, dann der Wert der Anfrage.Methode wird post sein und Anfrage.POST.erhalten() Die Methode wird verwendet, um die eingereichten Werte zu lesen. Der ist gültig() Die Funktion prüft, ob die Daten des Formulars gültig sind oder nicht. Wenn diese Funktion true zurückgibt, wird eine Erfolgsnachricht mit den Daten des gültigen Benutzers im Browser gedruckt. Andernfalls wird die in dem bestimmten Feld des Formulars angezeigte Fehlermeldung angezeigt. Anders als das die machen() Methode wird verwendet, um das Formular im Browser zu laden und Httpresponse () Die Methode wird verwendet, um die Antwort vom Server nach der Übermittlung des Formulars vom Server an den Browser zu senden.

# Notwendige Module importieren
von django.Verknüpfungen importieren Render
Aus Formapp.Formulare importieren studentForm
von django.http import httPesponse
Def Form_Request (Anfrage):
# Überprüfen Sie, ob das Formular eingereicht wird oder nicht
bei Anfrage.Methode == 'Post':
Student = StudentForm (Anfrage.POST)
# Die Formulardaten sind gültig oder nicht
Wenn Student.ist gültig():
# Lesen Sie die eingereichten Werte
Name = Anfrage.POST.get ("Name")
E -Mail = Anfrage.POST.Get ("E -Mail")
Benutzername = Anfrage.POST.Get ("Benutzername")
# Die Werte verschmelzen
Data = ['Ihre Registrierung ist erfolgreich abgeschlossen.
', 'Name Name, '
', 'Email Email, '
',' Benutzername: ', Benutzername]
# Geben Sie die Formularwerte als Antwort zurück
Rückgabe httPesponse (Daten)
anders:
# Zeigen Sie das HTML -Formular an
Student = StudentForm ()
Rendrendrender zurückgeben (Anfrage, "Formular.html ", 'Form': Student)

Erstellen Formen.py in der Formapp Ordner und fügen Sie den folgenden Inhalt hinzu. Das folgende Skript erstellt eine Form von vier Feldern. Der Name Das Feld ist definiert, um die Charakterdaten zu nehmen, und es können 40 Zeichen lang sein. Der Email Das Feld ist definiert, um eine gültige E -Mail -Adresse mit den Zeichendaten zu übernehmen, und es können 50 Zeichen lang sein. Der Nutzername Das Feld ist definiert, um die Charakterdaten zu nehmen, und es können 20 Zeichen lang sein. Der Passwort Das Feld ist definiert, um die Charakterdaten zu nehmen, und es kann mindestens 10 Zeichen und maximal 20 Zeichen lang sein. Der Formen.PassingInput Widget wird für das Feld Kennwort verwendet, um den Inhalt des Kennwortfelds auszublenden.

# Formularmodule importieren
aus Django -Importformularen
# Klasse erstellen, um die Formfelder zu definieren
Klassenstudentenform (Formulare.Form):
name = forms.Charfield (Label = "Voller Name", max_length = 40)
E -Mail = Formulare.E -MailField (Label = "E -Mail", max_length = 50)
Benutzername = Formen.Charfield (Label = "Benutzername", max_length = 20)
Passwort = Formulare.Charfield (label = "password", min_length = 10, max_length = 20, widget = forms.PassingInput)

Erstellen Sie einen Ordner mit dem Namen Vorlagen in der Formapp Ordner. Gehe zum Vorlagen Abschnitt von Einstellungen.py Datei und Stellen Sie den Speicherort des Vorlage Ordner für die Dires Eigentum.

Einstellungen.py

Vorlagen = [

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

Erstellen form.html in der Vorlage Ordner mit dem folgenden Inhalt.

% csrf_token % wird im HTML-Skript verwendet, um CSRF-Angriffe (Cross-Site Request Forgeries) zu verhindern. form.AS_P Laden Sie das Django -Formular, das von der entworfen wurde Formen.py Datei. Wenn das Einreichen Die Taste wird gedrückt, die Formulardaten werden an den Server übermittelt.





Benutzerregistrierungsformular



% csrf_token %
form.AS_P



Öffne das URLs.py von dem django_pro Ordner und ändern Sie den Inhalt mit dem folgenden Inhalt.

Hier das 'registrieren/' Pfad wird verwendet, um das Formular im Browser zu laden.

# Notwendige Module importieren
von django.URLS -Importweg
Aus Formapp -Importansichten
# Aufrufmethode zum Anzeigen des Formulars
urlpatterns = [
Pfad ('Register/', Ansichten.Form_Request)
]

Ö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 wird nach dem Ausführen der URL angezeigt. Die Validierung für das leere Feld, den Wert der maximalen Länge von Namen, E -Mail- und Kennwortfeldern sowie die minimalen und maximalen Längenwerte des Kennwortfelds werden nach dem Senden des Formulars überprüft.

Die folgende Ausgabe zeigt, dass das Feld Kennwort ungültig ist. Gemäß dem Formular muss die Länge des Passwortwerts innerhalb von 10 bis 20 Zeichen liegen. 5 Zeichen wurden in der folgenden Form als Eingabe gegeben. Dazu zeigt das Formular die Fehlermeldung an.

Nach Eingabe der gültigen Ausgabe in jedem Feld des Formulars wird die folgende Ausgabe angezeigt.

Abschluss:

Die Art und Weise, wie ein sehr einfaches Benutzerregistrierungsformular in der Django -Anwendung erstellt wurde, wurde in diesem Tutorial gezeigt. Django verfügt über viele Methoden zum Erstellen verschiedener Arten von Feldern des Formulars, wie z. Die Formularvalidierungsaufgabe wird sehr einfacher, wenn das Formular vom Django -Formular entworfen wurde.