Heim > Backend-Entwicklung > Python-Tutorial > Wie kann man Django-Admin-Vorlagen erweitern und überschreiben, ohne sie zu ersetzen?

Wie kann man Django-Admin-Vorlagen erweitern und überschreiben, ohne sie zu ersetzen?

Patricia Arquette
Freigeben: 2024-11-13 00:00:02
Original
849 Leute haben es durchsucht

How to Extend and Override Django Admin Templates Without Replacing Them?

Django-Admin-Vorlagen mit Overriding Template Loader erweitern und überschreiben

Die Herausforderung, Django-Admin-Vorlagen zu erweitern und zu überschreiben, ohne sie zu ersetzen, ist eine häufige Herausforderung Besorgnis bei den Entwicklern. Trotz früherer Diskussionen zu diesem Thema besteht das Problem weiterhin bei Projekten, die den Vorlagenlader „app_directories“ verwenden.

Eine Problemumgehung besteht darin, Admin-Vorlagen zu duplizieren und die Kopien zu erweitern, was jedoch die Komplexität und den Wartungsaufwand erhöht. Um diesen Prozess zu vereinfachen, wurde ein benutzerdefinierter Vorlagenlader entwickelt, der es Entwicklern ermöglicht, jede Vorlage innerhalb einer bestimmten App zu erweitern.

Implementierung des überschreibenden Vorlagenladers

Um eine zu erweitern Admin-Vorlage, zum Beispiel admin/index.html, können Entwickler ihre eigene Vorlage mit demselben Namen im Vorlagenverzeichnis ihrer App erstellen und die folgende Zeile am Anfang einfügen Vorlage:

{% extends "admin:admin/index.html" %}
Nach dem Login kopieren

Innerhalb dieser erweiterten Vorlage können Entwickler Blöcke definieren, um bestimmte Teile der Basisvorlage zu überschreiben. Um beispielsweise zusätzliche Links zur Seitenleiste hinzuzufügen, können sie den folgenden Block erstellen:

{% block sidebar %}
    {{block.super}}
    <div>
        <h1>Extra links</h1>
        <a href="/admin/extra/">My extra link</a>
    </div>
{% endblock %}
Nach dem Login kopieren

Adressierung des Problems in Django

Stand der neuesten und vorherigen Version In den LTS-Versionen von Django (3.2, 2.2, 1.11) bleibt das Überschreiben und Erweitern von Admin-Vorlagen mithilfe des app_directories-Vorlagenladers bestehen ein dokumentiertes Problem. Es gibt jedoch keinen Hinweis darauf, ob dies in zukünftigen Versionen von Django behoben wird.

Das obige ist der detaillierte Inhalt vonWie kann man Django-Admin-Vorlagen erweitern und überschreiben, ohne sie zu ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage