Django не может найти шаблон

Я знаю, что многие люди задали этот вопрос, но, несмотря на жесткое кодирование пути к моему каталогу шаблонов, я не могу заставить Django найти мой шаблон.

Вот параметр settings.py

TEMPLATE_LOADERS = ( 'django.template.loaders.filesystem.Loader', 'django.template.loaders.app_directories.Loader', #django.template.loaders.eggs.Loader', ) TEMPLATE_DIRS = ( "/Users/full/path/to/marketing_site/templates", ) 

Это файл views.py:

 def static (request, feature_page): # this will get the appropriate feature page template. template = loader.get_template('features/pricing.html') c = RequestContext(request,{ }) return HttpResponse(template.render(c)) 

Внутри основной папки находится папка шаблонов и папка приложения. Я использую для размещения приложений в той же папке, что и settings.py, но, похоже, django 1.4 изменил структуру файлов по умолчанию.

Моя ошибка:

 TemplateDoesNotExist at /features/pricing Django tried loading these templates, in this order: Using loader django.template.loaders.filesystem.Loader: Using loader django.template.loaders.app_directories.Loader: /Library/Python/2.7/site-packages/django/contrib/auth/templates/feature_pricing.html (File does not exist) 

Обновить:
Мои журналы для веб-страницы перечисляют TEMPLATE_DIRS as ().

Если я поставлю оператор print на странице settings.py для TEMPLATE_DIRS, я получаю распечатку TEMPLATE_DIRS соответствующим образом … так как-то TEMPLATE_DIRS не используется (по тому, как это выглядит)

4 Solutions collect form web for “Django не может найти шаблон”

Я добавил дополнительный TEMPLATE_DIR в settings.py

🙁

лучше настроить относительные пути для ваших переменных пути. Вы можете настроить его так:

 import os PATH_PROJECT = os.path.realpath(os.path.dirname(__file__)) ... ... TEMPLATE_DIRS = ( PATH_PROJECT + '/templates/' ) 

Предполагая, что вы используете окна, вы можете попробовать:

 TEMPLATE_DIRS = ( "C:/Users/full/path/to/marketing_site/templates", ) 

Я ставлю /Users/full/path/to/marketing_site/templates не содержит каталога features , или /Users/full/path/to/marketing_site/templates/features не содержит файл pricing.html .

Основываясь на вашем комментарии, похоже, что вы вызываете loader.get_template('feature_pricing.‌​html') вместо использования 'feature/pricing.html' .

EDIT: Я этого раньше не заметил:

Внутри основной папки находится папка шаблонов и папка приложения. Я использую для размещения приложений в той же папке, что и settings.py, но, похоже, django 1.4 изменил структуру файлов по умолчанию.

Это может вызвать проблему. Измените структуру каталогов, чтобы они соответствовали соглашениям 1.4 Django. Вы можете просто воссоздать проект, скопировать соответствующие настройки в новое создание settings.py и скопировать все файлы.

Попробуйте добавить пути к проекту django.wsgi

 import os import sys paths = ('path/to/project/', 'path/to/more /included/directories/', ) for path in paths: if path not in sys.path: sys.path.append(path) os.environ['DJANGO_SETTINGS_MODULE'] = 'project.settings' import django.core.handlers.wsgi application = django.core.handlers.wsgi.WSGIHandler() 
Python - лучший язык программирования в мире.