2012-07-25 111 views
1

由于某种原因,Django告诉我我试图加载的模板不存在。当我查看路径时,看起来它尝试加载的第一个模板实际上会一个接一个地重复两次路径。我的模板显示目录只列出以下路径一次:Django告诉我模板不存在

'/用户/ jonathanschen /蟒蛇/项目/骨架/ yectime /模板'

但装载机尝试加载

“/用户/ jonathanschen/python/projects/skeleton/yectime/Users/jonathanschen/Python/projects/skeleton/yectime/templates/base.html'

任何想法可能导致这种情况?提前致谢。

Template-loader postmortem 

Django tried loading these templates, in this order: 
Using loader django.template.loaders.filesystem.Loader: 
/Users/jonathanschen/python/projects/skeleton/yectime/Users/jonathanschen/Python/projects/skeleton/yectime/templates/base.html (File does not exist) 

回答

2

它看起来像您有:

TEMPLATE_DIRS = ('Users/jonathanschen/Python/projects/skeleton/yectime/templates',) 

,你应该有:

TEMPLATE_DIRS = ('/Users/jonathanschen/Python/projects/skeleton/yectime/templates',) 

(注意斜线 “/”)。

不以斜杠开始的路径是“相对”路径;它被添加到当前目录的路径中。鉴于您的manage.py可能在/Users/jonathanschen/Python/projects/skeleton/,Django试图寻找模板的路径最终会成为您在上面发布的漫长而错误的路径。

+0

当然,从长远来看,定义'FILEROOT = os.path.dirname(__ file __)'可能会更好。这将允许你做'TEMPLATE_DIRS =(os.path.join(FILEROOT,'模板'),'')。 – supervacuo 2012-07-26 18:14:33