Ich weiß, dies ist nicht in der Django-Tutorial, und Schande über sie, aber es ist besser, relative Pfade für Ihre Pfadvariablen einzurichten. Sie können es wie so ein:
import os
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
...
MEDIA_ROOT = PROJECT_PATH + '/media/'
TEMPLATE_DIRS = (
PROJECT_PATH + '/templates/',
)
Auf diese Weise können Sie Ihre Django-Projekt und Ihren Weg Wurzeln automatisch aktualisiert bewegen. Dies ist nützlich, wenn Sie Ihren Produktionsserver einrichten.
Zweitens ist Ihr TEMPLATE_DIRS-Pfad etwas Verdächtiges. Es sollte auf den Stamm Ihres Vorlagenverzeichnisses zeigen. Außerdem sollte es auch in einem nachlaufenden /
enden.
Ich werde nur raten, dass das Verzeichnis .../admin/
nicht Ihre Vorlage root ist. Wenn Sie immer noch absolute Pfade schreiben möchten, sollten Sie den Verweis auf das Admin-Vorlagenverzeichnis entfernen.
TEMPLATE_DIRS = (
'C:/django-project/myapp/mytemplates/'
)
Mit diesem wird gesagt, sollten die Vorlage Lader standardmäßig rekursiv eingerichtet werden, um in Ihre App-Verzeichnisse durchqueren Template-Dateien zu suchen.
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
# 'django.template.loaders.eggs.load_template_source',
)
Sie sollten nicht über die Admin-Vorlagen kopieren müssen, es sei denn, Sie möchten etwas speziell überschreiben.
Sie müssen eine syncdb ausführen, wenn Sie sie noch nicht ausgeführt haben. Sie müssen Ihre Mediendateien auch statisch servern, wenn Sie django über runserver hosten.
Dank viel zu entfernen "/ admin" am Ende der TEMPLATE_DIRS relativer Pfad es tat. – shaytac
Dieser Vorschlag setzt das Vorlagenverzeichnis in den Projektordner. Ist es für eine bessere Organisation sinnvoller, sie stattdessen in den App-Ordner zu legen? –
Prost für diese Antwort! –