Heim  >  Artikel  >  Backend-Entwicklung  >  Wie überschreibe und erweitere ich Django-Admin-Vorlagen mit App-spezifischen Erweiterungen?

Wie überschreibe und erweitere ich Django-Admin-Vorlagen mit App-spezifischen Erweiterungen?

DDD
DDDOriginal
2024-11-12 02:27:02139Durchsuche

How to Override and Extend Django Admin Templates with App-Specific Extensions?

Überschreiben und Erweitern von Django-Admin-Vorlagen mit App-spezifischen Erweiterungen

Das Überschreiben und Erweitern von Django-Admin-Vorlagen bei gleichzeitiger Erweiterung kann bei der Verwendung der app_directories eine Herausforderung sein Vorlagenlader. Um dieses Problem zu lösen, sollten Sie die Verwendung eines benutzerdefinierten Vorlagenladers in Betracht ziehen, der das Erweitern von Vorlagen aus bestimmten Apps unterstützt.

Lösung: Benutzerdefinierter Vorlagenlader

Ein benutzerdefinierter Vorlagenlader wie SmartTemplates ermöglicht Ihnen um die Vorlage anzugeben, die innerhalb einer bestimmten App erweitert werden soll. Dadurch können Sie Ihre eigene admin/index.html-Vorlage erstellen, die von der admin/index.html-Vorlage in der Admin-App erbt.

Zum Beispiel:

{% extends "admin:admin/index.html" %}

{% block sidebar %}
    {{ block.super }}
    <div>
        <h1>Extra Links</h1>
        <a href="/admin/extra/">My Extra Link</a>
    </div>
{% endblock %}

Verwendung :

  1. Installieren Sie das SmartTemplates-Paket.
  2. Konfigurieren Sie das TEMPLATE_LOADERS-Einstellung, um „smart_templates.loader.SmartLoader“ einzuschließen.
  3. Platzieren Sie Ihre benutzerdefinierte admin/index.html-Vorlage im Vorlagenverzeichnis Ihres Projekts.

Zusätzliche Hinweise:

  • Django-Versionen 2.2 und höher bieten integrierte Funktionen Unterstützung für die Vorlagenvererbung mithilfe der template from-Direktive, wodurch der Bedarf an benutzerdefinierten Vorlagenladern verringert wird.
  • Weitere Informationen zum Überschreiben und Erweitern von Vorlagen finden Sie in der Django-Dokumentation für Ihre spezifische Version.

Das obige ist der detaillierte Inhalt vonWie überschreibe und erweitere ich Django-Admin-Vorlagen mit App-spezifischen Erweiterungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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