Ich versuche, ein etwas konsistentes Benennungsschema auf meinen HTML-Templates zu halten. I.e. index.html für main, delete.html für delete-Seite und so weiter. Aber die app_directories
Loader scheint immer die Vorlage aus der App, die zuerst alphabetisch ist, zu laden.Django-Ansicht - Laden der Vorlage aus dem Aufruf der App zuerst
Gibt es eine Möglichkeit, zuerst im Verzeichnis templates
der anrufenden App nach einer Übereinstimmung zu suchen?
Relevante Einstellungen in meinem settings.py
:
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
TEMPLATE_LOADERS = (
'django.template.loaders.app_directories.load_template_source',
'django.template.loaders.filesystem.load_template_source',
)
TEMPLATE_DIRS = (
os.path.join(PROJECT_PATH, 'templates'),
)
Ich habe versucht, die Reihenfolge der TEMPLATE_LOADERS
, ohne Erfolg zu verändern.
bearbeiten wie von Ashok angefordert:
Dir Struktur jeder App:
templates/
index.html
add.html
delete.html
create.html
models.py
test.py
admin.py
views.py
in jeder views.py App:
def index(request):
# code...
return render_to_response('index.html', locals())
def add(request):
# code...
return render_to_response('add.html', locals())
def delete(request):
# code...
return render_to_response('delete.html', locals())
def update(request):
# code...
return render_to_response('update.html', locals())
können Sie zur Verfügung stellen, die die Struktur Ihres Verzeichnisses ‚Vorlagen‘ und einen Beispielcode, wie Sie laden/Rendern der Vorlage – Ashok
Der app_directories loader mir ein wenig irreführend klingt. Ich hätte angenommen, dass es Vorlagen wie Sie aus dem richtigen Anwendungsverzeichnis laden würde. Ist es nicht der Sinn einer Django-App, getrennte Slices erstellen zu können? – Adam