我在Windows XP SP3上运行Python 2.6.1和Django 1.2.1。我使用JetBrains PyCharm 1.0来创建和部署我的Django应用程序。Django无法找到我的模板
我对Python相对缺乏经验,我开始通过跟随“编写您的第一个Django应用程序”从网站 - 投票应用程序学习Django。我被困在part 3。
当我为“编写第一个视图”添加简单的回调函数时,一切都很好。
当我得到“写实际上做某事的视图”时,我遇到了麻烦。
我跟着指示,以修改索引视图:
- 添加一个新的方法的views.py(注 - 模板是从“投票/ index.html的”准备好):
- 添加索引。 HTML模板文件夹
site-templates/polls/
- 修改settings.py指向
site-templates
文件夹
下面是我的views.py代码:
from django.template import Context, loader
from polls.models import Poll
from django.http import HttpResponse
def index(request):
latest_poll_list = Poll.objects.all().order_by('-pub_date')[:5]
t = loader.get_template('polls/index.html')
c = Context({
'latest_poll_list': latest_poll_list,
})
return HttpResponse(t.render(c))
下面是我的settings.py行:
TEMPLATE_DIRS = ('/site-templates/')
但是当我运行还是我得到这个消息:
TemplateDoesNotExist at /polls/
polls/index.html
Request Method: GET
Request URL: http://localhost:8000/polls/
Django Version: 1.2.1
Exception Type: TemplateDoesNotExist
Exception Value:
polls/index.html
异常在loader.py抛出。我调试设置是这样的:
TEMPLATE_CONTEXT_PROCESSORS
('django.core.context_processors.auth', 'django.core.context_processors.request')
TEMPLATE_DEBUG
True
TEMPLATE_DIRS
('/site-templates',)
TEMPLATE_LOADERS
('django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader')
我的目录结构是这样的:
我错过了什么? settings.py是不正确的?请指教。
您指定两次'TEMPLATE_DIRS'的内容(第二个是正确的,第一不)。你真的在使用哪一个? – 2010-10-31 20:55:12
你可以发布你的文件夹层次吗? – 2010-10-31 20:56:17
第一个条目来自我的settings.py;第二个是我调用URL时回显到浏览器的内容。 – duffymo 2010-10-31 21:05:38