我知道这不在Django教程中,我为他们感到羞耻,但最好为路径变量设置相对路径.你可以这样设置:
import os.path
PROJECT_PATH = os.path.realpath(os.path.dirname(__file__))
...
MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media/')
TEMPLATE_DIRS = [
os.path.join(PROJECT_PATH, 'templates/'),
]
这样,您可以移动您的Django项目,并且您的路径根将自动更新.这在设置生产服务器时很有用.
其次,您的TEMPLATE_DIRS路径有可疑之处.它应该指向模板目录的根目录.此外,它还应该以尾随的/
结尾.
我将在这里猜测.../admin/
目录不是您的模板根目录.如果您仍然希望编写绝对路径,则应该删除对管理模板目录的引用.
TEMPLATE_DIRS = [
'C:/django-project/myapp/mytemplates/',
]
话虽如此,模板加载器在默认情况下应该设置为递归遍历到您的应用程序目录中,以定位模板文件.
TEMPLATE_LOADERS = [
'django.template.loaders.filesystem.load_template_source',
'django.template.loaders.app_directories.load_template_source',
# 'django.template.loaders.eggs.load_template_source',
]
你不需要复制管理模板,除非你特别想覆盖一些内容.
如果您尚未运行syncdb,则必须运行它.如果您通过runserver托管Django,您还需要静态地为您的媒体文件提供服务器.