Django托管下的模板不存在
在本地环境中,我的代码在 http://127.0.0.1:8000/twitter/ 上运行得很好,
但是在Django托管的环境中: http://zjm1126.alwaysdata.net/twitter/,却出现了错误:
TemplateDoesNotExist at /twitter/
home.html
home.html 文件在
mysite:
twitter
templates
home.html
而我在 settings.py 中设置了这个
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
)
还有
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.admin',
'django.contrib.comments',
'twitter',
)
那我该怎么办呢,
谢谢
2 个回答
0
试着在settings.py文件中添加这个内容
TEMPLATE_DIRS = (
os.path.join(os.path.dirname(__file__), 'templates').replace('\\', '/'),
)
这些代码的意思是让Django去找名字叫“templates”的文件夹里的模板。虽然书里的作者说,这个是默认的行为,不需要写这段代码。
2
检查一下你的 home.html 文件里有没有缺失的模板。
比如说,如果你的 home.html 里有一行 {% include "header.html" %}
,但是在模板文件夹里找不到 header.html,Django 还是会报错 TemplateDoesNotExist home.html
。虽然实际上缺失的模板不是 home.html,而是它里面引用的那个模板。