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:
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:
So erstellen Sie eine Ansicht in einer Klasse
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 :
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.
Sehen wir uns zum Abschluss dieses Tutorials ein Beispiel für das oben Genannte in der folgenden Abbildung an: