Django - Ansichten und URLs auflösen

Inhaltsverzeichnis
Die Ansichten und URLs werden nicht direkt von unserem Code aufgerufen, dies liegt an der dynamischen Natur der Anwendungen. Der Grund dafür ist, dass je allgemeiner das Formular ist, es in vielen Fällen verwendet werden kann.
Der richtige Weg ist also, die verschiedenen Funktionen zu verwenden, die es uns ermöglichen, die Routen entweder von einer Ansicht zu einer URL oder von einer URL zu einer Ansicht aufzulösen, dafür haben wir einige Tools namens Dekorateure.
Auflösung von URL zu Ansichten
Das Ansichten, von empfohlenen Praktiken werden nicht direkt von unserem Code aufgerufen, sondern sie werden durch Aufrufe in der URL aufgerufen, diese Anrufe werden vom Dispatching-System von . verarbeitet und bedient Django.
Einer der wichtigsten Aspekte an dieser Stelle ist, dass Django verwendet reguläre Ausdrücke Um die URL zu erstellen, die unsere Ansicht aufruft, können wir verschiedene Parameter übergeben und so unseren Ansichten Funktionen hinzufügen.
EIN URL-Muster enthält folgende Aspekte:
  • Der reguläre Ausdruck, der es uns ermöglicht, die URL zu erfassen, die wir als Muster platziert haben.
  • Ein Verweis auf die Ansicht, die aufgerufen wird.
  • Ein Wörterbuch mit Argumenten, das bei jedem Aufruf der Ansicht übergeben wird.
  • Ein Name, der als Referenz verwendet wird, um umgekehrte Aufrufe der Ansicht durchführen zu können.
Aufrufe in URLs auflösen
In unseren Anwendungen müssen wir oft andere Ansichten oder Ressourcen über URLs aufrufen, jedoch ist das starre Kopieren oder Festcodieren dieser URLs keine gute Praxis, da beispielsweise bei einer Änderung in unserem Programm 20 oder 30 Verweise auf geändert werden müssen eine URL, dafür können wir verschiedene Methoden verwenden, um unsere Anwendung nach der URL suchen zu lassen, ohne sie kopieren zu müssen. Eine dieser Methoden ist die Verwendung der Permalink-Dekorateur das sehen wir im nächsten Punkt.
Der Permalink-Dekorateur
Innerhalb jedes Modells haben wir Zugriff auf die Methode get_absolute_url() das erlaubt uns, direkt auf eine Detailseite eines Objekts zuzugreifen, ohne wissen zu müssen, wie die URL aufgebaut sein soll, jedoch erlaubt uns diese Methode keine Argumente zu übergeben, da es sich nur um einen zurückgegebenen Link handelt.
Um die Funktionalität zu erweitern, haben wir die Möglichkeit, Parameter wie von der Methode get_absolute_url() zu verwenden und zurückzugeben.
Dazu müssen Sie der folgenden Struktur folgen:
  • Das erster Wert ist der Name der aufzurufenden Ansicht, wenn die Ansicht einen Namen hat, muss er verwendet werden, ansonsten können wir den verwenden Importpfad des Sehens. Dieser Wert wird immer benötigt.
  • Das zweiter Wert Es ist ein Tupel von Positionsargumenten, das auf die Ansicht angewendet werden sollte. Wenn nicht, können wir diesen Parameter leer lassen.
  • Das dritter Wert es ist ein Wörterbuch, das Argumente mit ihren jeweiligen Werten verbindet, diese Werte müssen an die Ansicht übergeben werden, falls die Ansicht nichts erhält, können wir diesen Wert vom Aufruf ausschließen.
Sehen wir uns als nächstes an, wie wir dies in einen Code übersetzen in Django, dafür werden wir die Verwendung von Dekorateur in einem Modell:

Wie wir im Code im Bild sehen, nennen wir die Ansicht Bibliothek_Artikel Detail, den zweiten Wert übergeben wir ihn leer, da er nicht notwendig ist und im dritten Wert geben wir an, dass die Objekt Identifikation muss angebunden sein self.id d.h. auf die ID des Modells selbst, dann verwenden wir in der letzten Zeile die Dekorateur.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