Django – Klassenbasierte Ansichten

Ab der Version 1.3 von Django wurde eine ziemlich bedeutende Änderung eingeführt, die die Möglichkeit zum Erstellen von Ansichten durch Klassen anstelle von Funktionen einbezog, wie es beim Umgang mit den Objekten der Ansichten der Fall war, die Möglichkeit zum Erstellen allgemeinere Ansichten, bei denen wir uns mehr an das DRY-Prinzip halten können, sich nicht zu wiederholen.

Klassenbasierte Ansichten

Gegenwärtig müssen die Ansichten nicht auf Funktionen beschränkt sein, da es in Django darauf ankommt, ein Element zu erhalten, das aufgerufen werden kann. Dank dieses Ansatzes können wir die Elemente, die aufgerufen werden können, frei erzeugen . Beim Erstellen von klassenbasierten Ansichten erhalten wir die folgenden Vorteile:

1
Sein Konfigurationsbereich ist höher.

2
Es ist viel einfacher anzupassen, wenn Sie spezielle Projekte erstellen.

3
Wir können Objekte für andere Zwecke wiederverwenden.

Es gibt zwar verschiedene Möglichkeiten, Klassen zu erstellen, aber um die Konsistenz mit dem Django- Code zu gewährleisten, müssen wir versuchen, unsere Klassen den generischen Klassen des Frameworks ähnlich zu machen.

Dabei sollten Sie jedoch berücksichtigen, dass wir nicht daran gehindert werden, die Klassen so zu erstellen, wie es unsere Anwendung benötigt, auch wenn wir uns von den bereits erwähnten generischen Klassen unterscheiden müssen.

Generische Ansicht Django.views.generic.base.View

Da jeder Start ohne Führer schwierig ist, erleichtert Django den Zugang zu dieser Welt, indem es uns seine allgemeine Sichtweise bietet. Um sie zu benutzen, müssen wir nur eine Unterklasse daraus erstellen und auf diese Weise werden wir eine Basis haben.

Offensichtlich wird dies nicht das tun, was wir von Anfang an benötigen, wir können jedoch die folgenden Funktionen verwenden:

1
Validierung vergangener Argumente zur Konfiguration der Ansicht.

2
Verhindert die Verwendung von Argumenten, die als HTTP-Methoden bezeichnet werden.

3
Sammelt die bisherigen Argumente in der URL-Konfiguration.

4
Stellen Sie sicher, dass eine aufgerufene HTTP-Methode von der Ansicht unterstützt wird.

5
Verarbeitet automatisch Anfragen nach Optionen.

So erstellen Sie eine Ansicht in einer Klasse

See also  Emulieren Sie mobile Geräte in Google Chrome

Wir haben bereits die unterschiedlichen Eigenschaften von Ansichten mit Klassen erkannt und sogar einige Vorteile gesehen. Jetzt werden wir sehen, wie wir das, was wir wissen, in Code umsetzen können, um das Ergebnis zu erzielen .

Sehen wir uns im folgenden Bild eine generierte Ansicht an, die eine Unterklasse der generischen Ansicht von Django View bildet :

django_classbasedviews.jpg

Lassen Sie uns eine Analyse des Codes durchführen. Wenn wir sehen, dass wir unsere Klasse erstellen und angeben, dass es eine Unterklasse von View sein muss, damit wir alle ihre Funktionen erhalten, geben wir an , welche Vorlage der Klasse zugeordnet werden soll, und überschreiben schließlich die Methoden get und post . Auf diese Weise können wir unsere Logik integrieren.

Wichtig
Um die Ansicht nutzen zu können, müssen wir sie in unserem Muster in der URL deklarieren und angeben, dass sie mit der as_view () -Methode als Ansicht behandelt werden soll. Optional können wir den Namen der Vorlage übergeben, in der Sie die Ergebnisse zurückgeben müssen.

Sehen wir uns zum Abschluss dieses Tutorials ein Beispiel für das oben Genannte in der folgenden Abbildung an:

django_classbasedviews2.jpg

administrator

Leave a Reply

Your email address will not be published. Required fields are marked *