Inhaltsverzeichnis
Die Erfassung von Benutzerdaten ist für Webanwendungen von entscheidender Bedeutung, diese Erfassung kann vordefinierte Daten sein, wie z. B. Werte in Felder auswählen oder Radio Knöpfe, da es sich auch um offenen Text wie Eingabetext oder Textbereich handeln kann, wenn wir etwas umfangreichere Informationen erwarten.All diese Arten der Datenerfassung haben, abgesehen davon, dass es sich um HTML-Elemente handelt, gemeinsam, dass sie sich in einem Formular befinden müssen. Ein Formular ist ein Container, in dem wir Elemente platzieren, die Benutzerdaten erfassen, und dann können wir sie durch senden das HTTP GET-Methoden oder POST Letzteres wird am häufigsten verwendet.
Die Felder unseres Formulars
Das Generierung eines Formulars in Django Es ist der Generierung eines Modells sehr ähnlich, denn es nutzt auch die deklarative Form, mit der wir jedes Element als Attribut der Formularklasse zuweisen.
MerkenTrotz der oben erwähnten Ähnlichkeit weisen Modelle und Formulare einige wichtige Unterschiede auf. Einer davon ist, dass sie sich in der Art und Weise unterscheiden, wie sie Felder finden und erkennen, zum Beispiel prüft ein Modell, ob ein Attribut ein Contribute_to_class () Methode, stattdessen sucht das Formular, ob das Attribut tatsächlich ein Feld ist und überprüft darüber hinaus, ob es eine Instanz von . ist Django.forms.fields.Field.
Formulargenerierung
Um ein Formular zu generieren, müssen wir zuerst die Klasse erstellen, die es enthalten soll. Wir machen unsere Formularklasse zu einer Unterklasse der Formularmodul und wir fügen es in eine neue Datei namens formen.py im Anwendungsordner.
Darin erstellen wir eine Meta-Klasse, innerhalb dieser Klasse geben wir an, auf welches Modell sich unser Formular bezieht, dann geben wir in unserer Ansicht die Formularklasse an und schließlich leeren wir die Anwendungsvorlage. Sehen wir uns im folgenden Bild eine Formularklasse an:
WichtigWie wir sehen Wir importieren die Formularkomponente Ja Wir importieren auch das Modell unserer Anwendung, auf diese Weise können wir es bei der Deklaration der Formularklasse verwenden. Sobald dies erledigt ist, gehen wir zu der Ansicht, in der wir der entsprechenden Klasse mitteilen müssen, dass sie dieses Formular verwenden soll. Sehen wir uns das im Bild an:
Diese Ansicht entspricht a Klassenbasierte AnsichtTheoretisch müssen wir kein Formular deklarieren, unsere Anwendung erfordert jedoch möglicherweise ein benutzerdefiniertes Formular, das weniger Felder oder zusätzliche Felder anzeigt.
Der letzte Schritt besteht darin, das Formular in der entsprechenden Vorlage anzuzeigen, dafür verwenden wir die Kontextvariable bilden um die Felder ausdrucken zu können. Im folgenden Code können wir sehen, was wir meinen:
VERGRÖSSERN
Wir sehen, dass wir die Form definieren mit HTML Quelltext und drinnen verbrachten wir die Kontext bilden, dies reicht aus, um die entsprechenden Felder zu generieren, ein weiterer Aspekt, den wir berücksichtigen müssen, ist der enctype, wenn unser Formular eine Datei erhalten soll, müssen wir die mehrteilig / Formulardaten.Hat dir dieses Tutorial gefallen und geholfen?Sie können den Autor belohnen, indem Sie diesen Knopf drücken, um ihm einen positiven Punkt zu geben