Я использую Python 2.6.1 и Django 1.2.1 в Windows XP SP3. Я использую JetBrains PyCharm 1.0 для создания и развертывания моих приложений Django.
Я относительно неопытен в Python, и я начинаю изучать Django, следуя инструкциям «Написание вашего первого приложения Django» с веб-сайта - приложения для опросов. Я застрял на часть 3 .
Все нормально, когда я добавляю простые функции обратного вызова для «Написание вашего первого представления».
Я попал в ловушку, когда попал на «Писать представления, которые действительно что-то делают».
Я следовал инструкциям для изменения представления индекса:
- Добавить новый метод в views.py (Примечание - шаблон готов из 'polls / index.html'):
- Добавить шаблон index.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))
Вот строка в моих настройках.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? Пожалуйста, сообщите.