Я работаю через официальный учебник по Django 1.7, найденный here. Все идет гладко, за исключением того, что django не может найти шаблоны для приложений. Он находит шаблоны, которые я помещал в workspace/mysite/templates, но не под шаблоны workspace/mysite/polls /.Django Can not Find App Templates
Рабочая область - это папка, которую у меня есть в моем домашнем каталоге, где я храню все свои веб-проекты.
Мой путь ~ рабочая область/MySite/
и структура проекта
`workspace
|
mysite
|
db.sqlite3 - manage.py - mysite - mysite_env - polls - templates`
Я просто перечислить содержимое каждой папки для краткости:
- db.sqlite3 - это файл
- manage.py - это файл
- mysite - это проектная складка r
- mysite_env - это папка virtualenv
- опросы - это папка приложения и содержит структуру каталогов файлов с шаблонами, которые не подбираются. Структура в открытом каталоге - это шаблоны/опросы/index.html
- шаблоны - это шаблон шаблона проекта. Он подхватил Джанго
в моем MySITE/settings.py Я уточнял
`TEMPLATE_DIRS = [os.path.join(BASE_DIR, 'templates')]`
Я пытался добавить путь к папке опрашивает/шаблонов, но это не сработало.
опросы/views.py настройки для индекса:
`def index(request):
latest_question_list = Question.objects.order_by('-pub_date')[:5]
template = loader.get_template('/polls/index.html')
context = RequestContext(request, {
'latest_question_list': latest_question_list,
})
return HttpResponse(template.render(context))`
фактические опросы/шаблоны/опросы/index.html содержит:
`{% if latest_question_list % }
<ul>
{% for question in latest_question_list %}
<li><a href="/polls/{{ question.id }}/">{{ question.question_text }}</a>a></li>
{% endfor %}
</ul>
{% else %}
<p>No Polls are available.</p>
{% endif %}`
и последний, но не менее, опросы/URLs .py содержит это регулярное выражение для сопоставления индекса для/опросов /:
`#ex: /polls/
url(r'^$', views.index, name='index'),`
Специфическая ошибка, я получаю:
`TemplateDoesNotExist at /polls/
/polls/index.html
Request Method: GET
Request URL: http://127.0.0.1:8000/polls/
Django Version: 1.7.4
Exception Type: TemplateDoesNotExist
Exception Value:
/polls/index.html
Exception Location: /home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/site-packages/django/template/loader.py in find_template, line 136
Python Executable: /home/jeremiah/workspace/mysite/mysite_env/bin/python
Python Version: 3.4.0
Python Path:
['/home/jeremiah/workspace/mysite',
'/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4',
'/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/plat-x86_64-linux-gnu',
'/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/lib-dynload',
'/usr/lib/python3.4',
'/usr/lib/python3.4/plat-x86_64-linux-gnu',
'/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/site-packages']
Server time: Wed, 4 Feb 2015 18:27:56 -0800`
отслеживающий это дает это:
`nvironment:
Request Method: GET
Request URL: http://127.0.0.1:8000/polls/
Django Version: 1.7.4
Python Version: 3.4.0
Installed Applications:
('django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'polls')
Installed Middleware:
('django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware')
Template Loader Error:
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
Using loader django.template.loaders.app_directories.Loader:
Traceback:
File "/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/site-packages/django/core/handlers/base.py" in get_response
111. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/jeremiah/workspace/mysite/polls/views.py" in index
9. template = loader.get_template('/polls/index.html')
File "/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/site-packages/django/template/loader.py" in get_template
144. template, origin = find_template(template_name, dirs)
File "/home/jeremiah/workspace/mysite/mysite_env/lib/python3.4/site-packages/django/template/loader.py" in find_template
136. raise TemplateDoesNotExist(name)
Exception Type: TemplateDoesNotExist at /polls/
Exception Value: /polls/index.html`
Может кто-то пожалуйста, помогите мне с этим? Я пытался выяснить, что случилось слишком долго. Любые идеи, основанные на принятой в настоящее время практике, приветствуются.
Спасибо.
OMG,/запястья! Вы хоть представляете, как долго я искал эту проблему? Ищите опечатки во всех файлах, проверяя мои пути python, пути django, пути sys.LOL, о, я действительно не могу в это поверить. Спасибо за помощь. – Longblog