Django

Formularvalidierung in Django

Formularvalidierung in Django

Die Formularvalidierung ist eine sehr wichtige Aufgabe für jede Webanwendung, um gültige Daten in die Datenbank einzugeben. Die Benutzer der Anwendung können keine ungültigen Daten eingeben, wenn die Formulardaten vor dem Absenden validiert werden. Django wird als MVT (Model View Template)-basiertes Framework bezeichnet, wobei die Aufgabe des Controllers von diesem Framework selbst erledigt wird. Die datenbankbezogenen Aufgaben werden von Model erledigt und die Daten werden der Vorlage mit View . präsentiert. Die Felder eines Formulars werden basierend auf dem jeweiligen Modell generiert, das nach der Validierung Daten in die Django-Datenbank einfügt. Eine Art der Validierung erfolgt durch den Browser basierend auf dem im Modell definierten Feldtyp. Verwendung der ist gültig() Funktion ist eine weitere Möglichkeit, die Formulardaten nach dem Absenden des Formulars auf ihre Gültigkeit zu überprüfen. Dieses Tutorial zeigt Ihnen, wie die Daten nach der Validierung des Formulars in die Django-Datenbank eingefügt werden können.

Voraussetzungen

Bevor Sie das Skript dieses Tutorials üben, müssen Sie die folgenden Aufgaben ausführen:

  1. Installieren Sie die Django-Version 3+ auf Ubuntu 20+ (vorzugsweise)
  2. Erstellen Sie ein Django-Projekt
  3. Führen Sie den Django-Server aus, um zu überprüfen, ob der Server ordnungsgemäß funktioniert oder nicht.

Richten Sie eine Django-App ein

1. Führen Sie den folgenden Befehl aus, um eine Django-App namens zu erstellen Validierungsapp.

$ python3 verwalten.py startapp-validierungsapp

2. Führen Sie den folgenden Befehl aus, um den Benutzer zu erstellen, der für den Zugriff auf die Django-Datenbank verwendet wird. Wenn Sie den Benutzer zuvor erstellt haben, müssen Sie den Befehl nicht ausführen.

$ python3 verwalten.py erstelltsuperuser

3. Fügen Sie den App-Namen im . hinzu INSTALLED_APP Teil von dem py Datei.

INSTALLED_APPS = [

'validierungsapp'
]

4. Erstellen Sie einen Ordner mit dem Namen Vorlagen innerhalb der Validierungsapp Ordner und legen Sie die Vorlage Standort der App im VORLAGEN Teil von dem py Datei.

VORLAGEN = [

… .
'DIRS': ['/home/fahmida/django_pro/validationapp/templates'],
… .
,
]

Django-Formularvalidierung

Sie müssen den Code für die folgenden Dateien schreiben, um die Formularvalidierungsaufgabe in Django zu überprüfen.

Erstellen Sie das Modell

Öffne das Modelle.py Datei aus dem App-Ordner und fügen Sie das folgende Skript hinzu, um die Struktur der Kunden Tabelle. Die Tabelle enthält vier Felder. Dies sind full_name, email, contact_no und customer_type. Hier wird der customer_type vom Auswahltyp erstellt. Das bedeutet, dass der Benutzer einen beliebigen Wert aus der Dropdown-Liste auswählen muss.

Modelle.py

# Modelle importieren
von django.DB-Importmodelle
# Klasse für Kundeneintrag definieren
Klasse Kunde (Modelle.Modell):
# Werte für den Kundentyp definieren
Typ = (
('bezahlt', 'bezahlt'),
('frei frei')
)
# Definieren Sie die Felder für die Kundentabelle
full_name = Modelle.CharField(max_length=50)
E-Mail = Modelle.E-Mail-Feld()
contact_no = Modelle.CharField(max_length=20)
customer_type = Modelle.CharField(max_length=32, choice=type, default='free')

Registrieren Sie das Modell

Fügen Sie das folgende Skript in . hinzu der Administrator.py Datei für die Registrierung der Kunde Modell in der Django-Datenbank, um auf die Kunden Tabelle aus dem Django-Verwaltungs-Dashboard.

Administrator.py

# Admin-Modul importieren
von django.contrib import admin
# Kundenmodell importieren
von .Modelle importieren Kunde
# Kundenmodell registrieren
Administrator.Seite? ˅.registrieren (Kunde)

Erstellen Formen.py im App-Ordner und fügen Sie das folgende Skript hinzu, um die Klasse zu definieren, um das Formular basierend auf den genannten Feldern von . zu erstellen der Kunde Modell-.

Formen.py

# Formularmodul importieren
aus Django-Importformularen
# Kundenmodell importieren
von Validierungsapp.Modelle importieren Kunde
# Definieren Sie die Klasse für das Kundenformular
Klasse CustomerForm (Formulare.ModelForm):
Klasse Meta:
Modell = Kunde
Felder = ('full_name', 'email', 'contact_no', 'customer_type')

Vorlage erstellen

Erstellen Sie eine HTML-Datei mit dem Namen Kunde.html mit dem folgenden Skript, um das zuvor entworfene Formular mit dem anzuzeigen speichern Taste.

Kunde.html





Benutzerregistrierungsformular


Kundeneingabeformular

% csrf_token %
bilden.as_p



Daten nach Formularvalidierung einfügen

Ändern Sie den Inhalt der Ansichten.py Datei mit folgendem Skript. AddCustomer() Funktion wird im Skript verwendet, um einen neuen Datensatz in die Kunden Tabelle nach der Validierung des Formulars. Wird das Formular nicht abgeschickt, wird das Formular geladen mit der Kunde.html Datei. Wenn das Formular mit den gültigen Daten abgeschickt wird, wird ein neuer Datensatz mit dem inserted eingefügt speichern() Funktion und eine Erfolgsmeldung wird im Browser gedruckt mit der Option, einen weiteren Datensatz hinzuzufügen.

Ansichten.py

# HttpResponse-Modul importieren
von django.http.Antwortimport HttpResponse
# Rendermodul importieren
von django.Verknüpfungen importieren rendern
# Kundenformular importieren
von Validierungsapp.Formulare importieren CustomerForm
# Funktion zum Hinzufügen eines Kundeneintrags definieren
def Kunde hinzufügen(Anfrage):
wenn anfrage.Methode == "POST":
form = Kundenformular(Anfrage.POST)
# Ob die Formulardaten gültig sind oder nicht
wenn form.ist gültig():
Versuchen:
# Speichern Sie die Formulardaten in der Datenbank
bilden.speichern()
# Definiere die Nachricht für den Benutzer
Daten = ['

Die Kundendaten richtig eingefügt.


Neue hinzufügen']
# Antwort zurückgeben
HttpResponse(Daten) zurückgeben
außer:
bestehen
sonst:
# Definiere das Formularobjekt
Formular = Kundenformular()
# Zeigen Sie das Kundeneingabeformular an
return render(request, 'Kunde.html', 'form': form)

Modifiziere den URLs.py Datei des Django-Projekts mit folgendem Skript. Im Skript wurden zwei Pfade definiert. 'Kunde/' Pfad wird verwendet, um das Formular zum Hinzufügen der neuen Kundendatensätze anzuzeigen. Das 'Administrator/' Pfad wird verwendet, um das Django Administration Dashboard anzuzeigen.

URLs.py

# Admin-Modul importieren
von django.contrib import admin
# Pfadmodul importieren
von django.URL-Importpfad
# Ansicht importieren
aus Validierungsapp-Importansichten
# Pfad für Kunde und Admin definieren
URLmuster = [
path('Kunde/', Aufrufe.Kunde hinzufügen),
path('admin/', admin.Seite? ˅.URLs)
]

Führen Sie den Django-Server aus und führen Sie die folgende URL im Browser aus, um das Kundeneingabeformular anzuzeigen. Wenn die speichern Wird die Schaltfläche gedrückt, ohne Daten in das Formular einzugeben, erscheint die folgende Seite mit Fehlern zum Leerhalten der Pflichtfelder fields.

Wenn für das E-Mail-Feld ungültige Daten eingestellt sind, wird die folgende Fehlermeldung angezeigt.

Die folgenden Informationen werden angezeigt, wenn das Formular mit gültigen Daten gesendet wird. Wenn der Benutzer auf das 'Neue hinzufügen' Link erscheint das Formular erneut, um Daten für den nächsten Datensatz einzufügen.

Fazit

In diesem Tutorial wurde gezeigt, wie man ein Django-Formular validiert, indem man eine einfache Django-App erstellt. Die besagte App wird Django-Entwicklern helfen, die Bedeutung der Formularvalidierung zu verstehen und sie in der Lage zu sein, dies richtig zu tun.

Mit WinMouse können Sie die Mauszeigerbewegung auf einem Windows-PC anpassen und verbessern improve
Wenn Sie die Standardfunktionen Ihres Mauszeigers verbessern möchten, verwenden Sie Freeware WinMouse. Es fügt weitere Funktionen hinzu, damit Sie das...
Linker Mausklick funktioniert nicht unter Windows 10
Wenn Sie eine dedizierte Maus mit Ihrem Laptop oder Desktop-Computer verwenden, aber die linker Mausklick funktioniert nicht unter Windows 10/8/7 aus ...
Cursor springt oder bewegt sich zufällig während der Eingabe in Windows 10
Wenn Sie feststellen, dass Ihr Mauszeiger während der Eingabe auf einem Windows-Laptop oder -Computer automatisch und zufällig springt oder sich von s...