Sie, mein Freund, sind auf dem Markt für Kontext-Prozessoren.
Von einem Blog-Eintrag geschrieben von einem weit nimbler und gelehrter technischer Schriftsteller als ich:
Was sind Vorlagenkontextprozessoren?
Djangos Kontextprozessoren sind eine Einrichtung, mit der Sie Daten und Callbacks für Ihre Vorlagen bereitstellen können.
Sie können dies auf zwei Arten tun:
- Auf individueller Basis: Übergeben Sie einen benutzerdefinierten
Context
-Wert an Ihrenrender_to_response()
-Aufruf- Global: Durch Erstellen einer Kontext-Prozessor-Methode, die ein
HttpRequest
-Objekt als Eingabe akzeptiert und dann eine Payload oder einen Callback zurückgibt Registrieren Sie den Kontextprozessor in Ihremsettings.py
und geben Sie dann Ihrenrender_to_response()
-Aufruf mit dem integriertenRequestContext
-Attribut an statt Ihrer eigenen (Sie können% ce_de% jederzeit erweitern, um natürlich weitere Daten auf Anfrage hinzuzufügen).Wenn dieser Ansatz für die Weitergabe von Daten an Vorlagen für Sie absurd und verschleiert klingt, sind Sie nicht allein. Die Komplexität einer so einfachen Operation ist ungerechtfertigt und kontraproduktiv, aber jedes System hat seine Schwächen.
Die offizielle Dokumentation ist hier:
Also, aber ja, ich habe schon eine Weile mit Django programmiert, und einer der Gründe, warum ich Probleme wirklich löse, ist es, weil es in seiner Komplexität fast byzantinisch ist, aber nicht in einer dominierenden Art. Es hat eine Menge Geegaws und Doodads, die vielleicht nicht sofort nützlich erscheinen; jeder von ihnen ist entweder sehr praktisch, wenn Sie es brauchen, und es wird Ihnen aus dem Weg stehen, wenn nicht.
Das Ergebnis für Sie ist: Kontext-Prozessoren sind ein gutes Beispiel dafür. Ja.