我在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