Django - Funktionsbasierte Ansichten

Inhaltsverzeichnis
Obwohl der Begriff Ansicht auf eine Weise interpretiert werden kann, in Django Dies ist nicht das klassische Konzept, das wir dafür verwenden, zum Beispiel in der Webprogrammierung hängt das Ergebnis, das uns eine Ansicht liefert, oft von den Aktionen des Benutzers ab, vielleicht aktualisiert der Benutzer ein Dropdown-Menü und ändert den Gesamtsinn der Ansicht .
Wenn wir versuchen, das Konzept der Ansicht zu etablieren, möchten wir nicht versuchen, es mit dem Konzept zu vergleichen, das wir möglicherweise aus anderen MVC-Umgebungen vordefiniert haben, sobald wir das Konzept der Ansicht von . haben Django wir können es anderen Entwicklern besser zum Ausdruck bringen.
Das Skelett des Sehens
Wenn wir den Körper der Ansicht sehen und zu ihren Grundlagen gehen, können wir sagen, dass eine Ansicht eine Funktion ist, die eine HTTP-Anfrage annehmen Ja gibt eine HTTP-Antwort zurück, Wir könnten sagen, dass dieser Ansatz einfach ist, aber wenn wir den Zweck der Ansicht sehen, erfüllt dieses Konzept ihn angemessen, da wir jetzt, um die Einfachheit dieser beiden Elemente zu erreichen, andere Aktivitäten ausführen müssen.
Allgemeine Ansichten
Die Philosophie von Django sagt uns, dass wir alles tun müssen, damit unsere Anwendungen wiederverwendbar, einfach und effektiv sind, das heißt, dass wir keine sich wiederholenden Elemente entwickeln können, d.h. den gleichen Code immer wieder schreiben, da es keinen Sinn macht, mal sehen folgendes Bild:

In diesem Code sehen wir, wie wir eine Funktion erstellen. Diese Funktion repräsentiert uns eine Ansicht, ist jedoch bei weitem keine Lösung, die die Punkte der Django-Philosophie, obwohl es stimmt, dass der Code funktioniert und in vielen Fällen die Aufgabe mehr als gut erfüllen würde, stellen wir uns vor, dass wir, anstatt nur diese Ansicht zu erstellen, 100 oder 200 erstellen müssen, weil wir eine Anwendung von großem Ausmaß haben müsste diese Logik immer wieder wiederholen und den gleichen Codetyp generieren.
Wenn wir uns den Namen der Ansicht ansehen, die Parameter, die sie aufruft, einschließlich der von ihr gegebenen Antwort, die auf eine vom Entwickler vordefinierte URL verweist, weist uns all dies auf eine spezifische und nicht generische Ansicht hin.
Bevor wir uns Sorgen machen können, hat das Framework bereits eine Lösung für dieses Problem und es ist nicht mehr und nicht weniger als die generische Ansichten, das sind schon definierte Ansichten, wir müssen es nur noch fügen Sie ihnen ein Modell hinzu, geben Sie eine Vorlage an und wir können auf Funktionen und Methoden zugreifen, die alle notwendigen Grundlagen erfüllen.
Sehen wir uns den Code davon an generische Ansichten im folgenden Bild:

Im Beispiel können wir einige interessante Punkte feststellen, zuerst beschränken wir die Funktion nicht auf ein einzelnes Modell, wir sehen, wie wir die Funktion verwenden model.get_default_manager mit dem wir den Primärschlüssel unseres Modells ermitteln, dann geben wir den Namen der Vorlage zurück, die wir zuerst als Argument der Funktion erhalten haben.
Hier haben wir keine Einschränkung durch Code mehr, da dies nur einmal gemacht wird und es einschließt Django, müssen wir uns nur um die Integration kümmern, was wir verwenden werden. Sehen wir uns die Implementierung einer Ansicht mit diesem Ansatz an:

In unserer Implementierung rufen wir einfach die Funktion show_object des Ansichten Klasse, geben wir an, welches Modell verwendet wird, und geben den Namen der Vorlage an, etwas, das viel weniger repetitiv und einfacher ist als der nicht generische Ansatz, den wir zu Beginn gesehen haben.
Wie wir sehen, haben wir Tools im Framework, die uns Arbeit ersparen und wir können auch eine saubere und effiziente Entwicklungsphilosophie einhalten, indem wir die Anzahl unnötiger Codezeilen reduzieren, die wir schreiben.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