django & ошибка «TemplateDoesNotExist»
У меня есть, как кажется, общая проблема для начинающих.
Я работаю над своим первым проектом Django, и когда я настраиваю свою точку зрения, я получаюTemplateDoesNotExist» ошибка. Я трачу много часов на это сейчас - и я знаю много тем на эту тему, но до сих пор мне ничего не помогало.
Я надеюсь, что смогу предоставить всю необходимую информацию, чтобы опытный пользователь django мог, вероятно, непосредственно увидеть, что я делаю неправильно.
Я использую сервер разработки. и windows 7 & sqlite3.
это ошибка, которую я получаю:
TemplateDoesNotExist at /skates/
allsk8s.html
Request Method: GET
Request URL: http://127.0.0.1:8000/skates/
Django Version: 1.4.3
Exception Type: TemplateDoesNotExist
в settings.py я настроил TEMPLATE_DIRS следующим образом:
TEMPLATE_DIRS = (
r'H:/netz2/skateprojekt/templates/',
)
загрузчик шаблонов выглядит так:
TEMPLATE_LOADERS = (
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
# 'django.template.loaders.eggs.Loader',
)
это мой взгляд
from django.shortcuts import render_to_response
from django.template import RequestContext
from sk8.models import Sk8
def AllSk8s(request):
skates = Sk8.objects.all().order_by('name')
context = {'skates':skates}
return render_to_response('allsk8s.html', context, context_instance=RequestContext(request))
он должен ссылаться на allsk8s.html - и похоже, что он делает, но файл не может быть найден, хотя он определенно находится в нужной папке. но, как вы можете видеть:
Template-loader postmortem
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
H:\netz2\skateprojekt\templates\allsk8s.html (File does not exist)
это часть моего urls.py
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
(r'^skates/и это системный путь:
H:\netz2\skateproject\templates
и в папке шаблонов находится файл с именем allsk8s.html, насколько я понял, - это должно работать. Я действительно надеюсь, что кто-то может помочь мне, потому что это второй раз, когда я столкнулся с такой проблемой, и я не могу понять проблему.
заранее спасибо Даниэль
редактировать:
Я попытался добавить это в мои settings.py:
import os
DIRNAME = os.path.abspath(os.path.dirname(__file__))
и изменил мой TEMPLATE_DIRS на:
TEMPLATE_DIRS = (
os.path.join(DIRNAME, r'H:/netz2/skateprojekt/templates/'),
)
потому что я прочитал, это помогло бы - но оно все равно вернуло ту же ошибку - поэтому я снова изменил его. ; (
редактировать:
Кроме того, я проверил, когда я ввожу wront URL, он выдает эту ошибку:
Using the URLconf defined in skateproject.urls, Django tried these URL patterns, in this order:
^admin/
^skates/$
так что URL коньков должен быть там - но не может быть "решены» - Я не понимаю :(
редактировать:
Сегодня я узнал что-то новое, посмертное вскрытие шаблона говорит, что он также проверяет эти каталоги:
Using loader django.template.loaders.app_directories.Loader:
C:\Python27\lib\site-packages\django\contrib\auth\templates\allsk8s.html (File does not exist)
C:\Python27\lib\site-packages\django\contrib\admin\templates\allsk8s.html (File does not exist)
поэтому я переместил туда свои файлы шаблонов и получил новую ошибку - исправил это путем преобразования моих html-файлов из ansi в utf8 и tada - все заработало. к сожалению, я не могу позволить файлам шаблонов в этой папке вызвать его не является частью проекта. когда я переместил файлы обратно в исходное местоположение, я вернулся к старой ошибке :(
, 'sk8.views.AllSk8s'),
)
и это системный путь:
H:\netz2\skateproject\templates
и в папке шаблонов находится файл с именем allsk8s.html, насколько я понял, - это должно работать. Я действительно надеюсь, что кто-то может помочь мне, потому что это второй раз, когда я столкнулся с такой проблемой, и я не могу понять проблему.
заранее спасибо Даниэль
редактировать:
Я попытался добавить это в мои settings.py:
import os
DIRNAME = os.path.abspath(os.path.dirname(__file__))
и изменил мой TEMPLATE_DIRS на:
TEMPLATE_DIRS = (
os.path.join(DIRNAME, r'H:/netz2/skateprojekt/templates/'),
)
потому что я прочитал, это помогло бы - но оно все равно вернуло ту же ошибку - поэтому я снова изменил его. ; (
редактировать:
Кроме того, я проверил, когда я ввожу wront URL, он выдает эту ошибку:
Using the URLconf defined in skateproject.urls, Django tried these URL patterns, in this order:
^admin/
^skates/$
так что URL коньков должен быть там - но не может быть "решены» - Я не понимаю :(
редактировать:
Сегодня я узнал что-то новое, посмертное вскрытие шаблона говорит, что он также проверяет эти каталоги:
Using loader django.template.loaders.app_directories.Loader:
C:\Python27\lib\site-packages\django\contrib\auth\templates\allsk8s.html (File does not exist)
C:\Python27\lib\site-packages\django\contrib\admin\templates\allsk8s.html (File does not exist)
поэтому я переместил туда свои файлы шаблонов и получил новую ошибку - исправил это путем преобразования моих html-файлов из ansi в utf8 и tada - все заработало. к сожалению, я не могу позволить файлам шаблонов в этой папке вызвать его не является частью проекта. когда я переместил файлы обратно в исходное местоположение, я вернулся к старой ошибке :(