据我所知,默认情况下,应用会查看应用的模板文件夹中的特定模板名称。如果我将模板放在名为foo的文件夹中会发生什么?我怎么能告诉django还要查看每个应用程序的每个文件夹的foo?
答案 0 :(得分:1)
您可以在django设置的DIRS
选项中将目录列表添加到TEMPLATES
要检测每个应用程序下的'foo'模板目录,我建议您将INSTALLED_APPS
元组分成至少两个不同的元组
所以INSTALLED_APPS = PROJECT_APPS + OTHER_APPS
现在将模板目录包含在DIRS
TEMPLATES
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(PROJECT_PATH, 'apps', app_name, 'foo') for app_name in PROJECT_APPS],
'OPTIONS': {
'loaders': [
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
],
'context_processors': [
"django.template.context_processors.debug",
"django.template.context_processors.media",
"django.template.context_processors.request",
"django.template.context_processors.static",
]
}
},
]
所以现在'django.template.loaders.filesystem.Loader'
会查看DIRS
中的所有目录,默认情况下,'django.template.loaders.app_directories.Loader'
加载程序会在每个应用中查找“templates”文件夹。