Django kann angegebene Vorlagen nicht finden und löst Ausnahmen vom Typ TemplateDoesNotExist aus. Der Ort, an dem Django die Vorlagen zu finden erwartet, existiert nicht, obwohl die Vorlagen auf der Festplatte vorhanden sind.
Django folgt beim Laden von Vorlagen einer bestimmten Reihenfolge:
In diesem Fall weist die Konfiguration für TEMPLATE_DIRS Django an, in /usr/lib/python2.5/site-packages/projectname/templates nach Vorlagen zu suchen. Die Vorlagen sind jedoch in /usr/lib/python2.5/site-packages/projectname/templates/appname/template_name.html organisiert. Django kann die Vorlagen nicht finden, da es davon ausgeht, dass sie sich im Stammverzeichnis des Vorlagenverzeichnisses befinden.
Um das Problem zu beheben, verschieben Sie die Vorlagen nach /usr/lib/python2.5 /site-packages/projectname/templates/template_name.html.
Alternativ können Sie TEMPLATE_DIRS ändern, um in den Vorlagenverzeichnissen der Anwendungen nach Vorlagen zu suchen:
<code class="python">TEMPLATE_DIRS = ( os.path.join(SETTINGS_PATH, 'appname1/templates'), os.path.join(SETTINGS_PATH, 'appname2/templates'), os.path.join(SETTINGS_PATH, 'appname3/templates'), )</code>
Wenn die oben genannten Lösungen nicht funktionieren, überprüfen Sie die Eigentumsberechtigungen des Vorlagenverzeichnisses. Im gegebenen Fall wurde das Problem durch Ausführen von chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/* behoben, da der Webserverbenutzer entsprechende Berechtigungen für den Zugriff auf die Vorlagen benötigte.
Das obige ist der detaillierte Inhalt vonHier sind einige fragenbasierte Titel, die zu Ihrem Inhalt passen: Direkt und konkret: * Warum gibt Django einen TemplateDoesNotExist-Fehler aus, obwohl meine Vorlagen vorhanden sind? * Laden der Django-Vorlage:. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!