Django - MultiWidget

Inhaltsverzeichnis
Apropos Widgets, wir müssen wissen, dass dies eine Brücke zwischen den HTML Quelltext und die Felder von Django; Diese haben viel damit zu tun, wie wir das Verhalten von HTML in unseren Formularen und damit in unserer Anwendung steuern werden.
Die Kontrolle ist so groß, dass wir einige Programmiertechniken anwenden können, bei denen wir uns erlauben, Daten zu speichern und zu verarbeiten von verschiedenen Widgets und gib sie Django als wären es Daten aus einer einzigen Quelle.
Daten auf mehrere Widgets aufteilen
Die Bedienung kann mit dem render() Methode des Widget, dann können wir ein Feld haben, und bei der Verarbeitung teilen wir es in mehrere HTML-Eingaben auf, von denen jede einen Teil des Wertes enthält, den wir speichern müssen.
BeispielEin Beispiel kann das Feld sein Terminzeit, könnte dies in ein Feld unterteilt werden, das nur das Datum erfasst, und ein anderes, das die Uhrzeit erfasst, wenn es jedoch in gespeichert wird Datenbank Wir sollten sie verbinden und auf diese Weise haben wir ein vollständiges Feld, aber im Benutzerteil ist es unterteilt.
MultiWidget
Wie das Beispiel, das wir zuvor erwähnt haben, ist es etwas ziemlich mühsam, da wir uns darum kümmern müssten, zu viele Routinen und Methoden zu schreiben, die uns bei der Validierung helfen, in Django Dies ist bereits durchdacht und wir haben Dienstprogramme, die einen großen Teil dieser Arbeit für uns erledigen.
MultiValueFieldAuf der Seite der Felder haben wir MultiValueField das hilft uns bei der Validierung der Daten, ihrer Bereinigung und dem Vergleich mit jedem der Felder, aus denen die Verbindung besteht; Das einzige, was wir hier tun müssen, ist anzugeben, welche Felder die Komposition bilden und wie wir sie komprimieren müssen, damit sie im Code verwendet werden können Python.
Diese Methode wurde entwickelt, um in Verbindung mit MultiWidget der dafür verantwortlich ist, alles, was wir zuvor in der Formularklasse definiert haben, in HTML zu übersetzen.
Sehen wir uns unten ein Bild eines Beispielcodes an, in dem wir diese Konzepte implementiert haben:

VERGRÖSSERN

Hier sehen wir, wie wir zuerst eine Klasse definiert haben, die erbt von MultiWidget, darin geben wir an, dass wir zwei Felder haben werden Eingabetext assoziiert und gründet eine dekomprimieren () Methode Dies ist diejenige, die die Werte für die Präsentation trennt.
In der nächsten Klasse setzen wir ein wenig mehr Elemente, zuerst sagen wir ihr, dass sie erben soll von MultiValueField dann weisen wir darauf hin Widget Sie müssen es verwenden und natürlich werden wir Sie auffordern, das oben bereits definierte Widget zu verwenden.
Dann in seinem __init__-Methode Wir geben die Arten von Feldern an, die es braucht, und schließlich definieren wir die Methode komprimieren (), wir sehen, dass es neben dem Selbst auch einen Parameter erhält Datenliste, dabei übergeben wir die Liste der zu kombinierenden Daten und geben sie als Tupel zurück. Wir nutzen auch die Validierung, um zu vermeiden, dass fehlerhafte Daten erhalten werden, die unsere Anwendung gefährden könnten.
Damit beenden wir dieses Tutorial und sehen, wie wir über ein ziemlich fortschrittliches Tool verfügen, mit dem wir unsere Formulare in unserer Anwendung in nur einfachen Schritten noch ein wenig anpassen können.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

Sie werden die Entwicklung der Website helfen, die Seite mit Ihren Freunden teilen

wave wave wave wave wave