我正在尝试为我的所有html模板创建一个中央目录。该路径是我的settings.py文件中的目录,因此它位于相对于设置目录的../templates/index.html。
我在settings.py
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
#'django.template.loaders.app_directories.Loader',
#'django.template.loaders.eggs.Loader',
)
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [
path.join(SETTINGS_PATH, 'templates')
],
'OPTIONS': {
'context_processors': [
# Insert your TEMPLATE_CONTEXT_PROCESSORS here or use this
# list if you haven't customized them:
'django.contrib.auth.context_processors.auth',
'django.template.context_processors.debug',
'django.template.context_processors.i18n',
'django.template.context_processors.media',
'django.template.context_processors.static',
'django.template.context_processors.tz',
'django.contrib.messages.context_processors.messages',
]
},
},
]
views.py中的视图与默认视图几乎相同:
def home(request):
"""Renders the home page."""
assert isinstance(request, HttpRequest)
return render(
request,
'index.html',
context_instance = RequestContext(request,
{
'title':'home page',
'year':datetime.now().year,
})
)
在我启动devserver并尝试转到主页面后,我收到以下错误,这非常令人困惑:
TemplateDoesNotExist at /
index.html
...
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
C:\source\project\web_page\templates\index.html (File exists)
编辑:如果重要,这里是该页面的网址(再次,与默认网页几乎相同):
...
url(r'^$', 'app.views.home', name = 'home'),
...
Django怎么可能找到模板,但是没有加载它?