是否可以设置django项目模板加载优先级,以便首先加载应用程序的“模板”文件夹,然后加载项目“模板”。如果模板存在于app文件夹中,则使用它。如果app文件夹中不存在,则尝试从项目文件夹加载。
或者加载模板不正常? 我问,因为我在异常中看到,Django试图加载所有全局模板:
模板加载器事后
Django尝试按以下顺序加载这些模板:
使用引擎django:
django.template.loaders.filesystem.Loader:D:\ myprojects \ my-website \ src \ templates \ home.html(来源不存在)
django.template.loaders.app_directories.Loader:C:\ User \ Python27 \ lib \ site-packages \ django \ contrib \ admin \ templates \ home.html(来源不存在)
- django.template.loaders.app_directories.Loader:C:\ User \ Python27 \ lib \ site-packages \ django \ contrib \ auth \ templates \ home.html(Source not exists)
- django.template.loaders.app_directories.Loader:D:\ myprojects \ my-website \ src \ website \ templates \ home.html(来源不存在)
答案 0 :(得分:2)
更新您的TEMPLATES
设置,并将app_directories
加载程序放在filesystem
加载程序之前。
如果您目前有'APP_DIRS': True
,则必须将其删除,然后添加loaders
选项。
例如,您可以将TEMPLATES
设置更改为:
TEMPLATES = [{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'OPTIONS': {
'loaders': [
'django.template.loaders.app_directories.Loader',
'django.template.loaders.filesystem.Loader',
],
},
}]