django erstreckt sich problem - das Kind-Vorlage wird nicht angezeigt
Hab ich schon konfiguriert, die notwendigen Dinge zu arbeiten, das erweitert die template-Funktion in django. hier meine codes:
in settings.py
def my_dir():
import os.path
return os.path.abspath(os.path.dirname(__file__))
TEMPLATE_DIRS = ( my_dir() + '/app/templates', ) #dynamic template directory
in base.html - im app/templates/site
....
<div id="SideBar" class="FloatLeft">
{% block sidebar %} {% endblock %}
</div>
....
in sidebar.html - im app/templates/site
{% extends "site/base.html" %}
{% block sidebar %}
some code here
{% endblock %}
Habe ich versucht, auch die {% include "site/sidebar.html"%} - tag in der base.html überprüfen Sie das Verzeichnis "Vorlagen", und ja, der include-Tags funktioniert...
was ist das problem mit dem {% extends %} ? warum macht man es nicht erkennen, seine übergeordneten Vorlage..
bitte helft mir Jungs.. Eure Hilfe ist sehr willkommen... im warten immer noch auf die Antwort.. tnx
- Was macht Ihrer Ansicht nach Aussehen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Welche Vorlage sind Sie rendering-aus Ihrer Sicht? Es sollte die Kind, nicht die Eltern.
Ich bin nicht sicher, was yout problem ist, aber Sie sollten überprüfen Sie die folgenden Punkte :
Diese sind die Probleme, die ich mir vorstellen kann, aber ich kann nicht garantieren, dass es funktionieren wird.
Gibt es eine Menge Probleme. Die kurze Antwort ist "Nein, Sie können nicht ändern, template-dirs-on-the-fly, und selbst wenn Sie könnten, würden Sie es tun definitiv nicht die Art und Weise, tun Sie es jetzt"
Ihr Hauptproblem ist, dass man vergisst ein Komma in der TEMPLATE_DIRS Einstellung. Versuchen Sie dies:
Bitte ignorieren cheshire ' s Antwort.
Verwenden
os.path.join
zu kombinieren 2 Verzeichnisse.Hier bin ich der Annahme, dass
templates
ist ein Verzeichnis, in dem Sie Ihre Vorlagen. Nun, um die Vorlagen zugreifen, dies ist das Basis-Verzeichnis für Sie. So zu erweiternbase.html
in eine andere Datei zu tun wie dieser -TEMPLATE_DIRS
ist der einzige Ort, wo Sie den Pfad für die Vorlagen. bitte legen Sie alle Vorlagen in einem Ort, es sei denn, Sie haben einen starken Grund es nicht zu tun.Sind Sie sicher, dass Sie die richtige Vorlage-Lader-setup?
Sollten Sie diese in Ihrem settings.py:
Die Antwort Daniel Roseman gab ist vor Ort auf, aber es ist eine schnelle und einfache Weg, um dies zu zeigen, wenn Ihr Kind die Vorlage nicht praktikabel ist (wie könnte es nicht mit komplexeren Projekten).
In Ihrem Kind-Vorlage, entfernen Sie die {% extends "" %} - tags, die Sie haben, die sind auf Ihre Eltern.
In Ihrem übergeordneten Vorlage, ersetzen Sie {% block content %} mit {% include "Pfad/zu/Kind/template" %}
Das ist es! Ihr Kind Vorlage wird nun geladen in den block-Inhalt genau so, wie wenn Sie hatte machte es direkt.