Развернуть проект django в webfaction и застрять с TemplateDoesNotExist
Я пытаюсь развернуть проект django в webfaction и застрял с проблемой, что сервер не видит мою папку шаблонов
PROJECT_DIR = os.path.dirname((os.path.dirname((os.path.dirname(__file__)))))
TEMPLATE_DIRS = (
os.path.join(PROJECT_DIR,'templates'),
)
путь к Python в httpd.conf:
python-path=/home/wadadaaa/webapps/promo_site/myproject:/home/wadadaaa/webapps/promo_site/lib/python2.7
И у меня есть исключение:
Exception Type: TemplateDoesNotExist
Exception Value: index.html
Django tried loading these templates, in this order:
Using loader django.template.loaders.filesystem.Loader:
/home/wadadaaa/webapps/promo_site/templates/index.html (File does not exist)
есть идеи как это исправить?
1 ответ
При развертывании в WebFaction я добавляю родительский каталог проекта в python_path:
python-path=/home/wadadaaa/webapps/promo_site:/home/wadadaaa/webapps/promo_site/myproject:/home/wadadaaa/webapps/promo_site/lib/python2.7
Если вы используете Django 1.5.x, обычным способом "сопоставления" путей к каталогам, таких как TEMPLATE_DIRS, STATIC_ROOT и т. Д., Является использование функции для их вычисления. Это особенно полезно, если вы работаете более чем на одном компьютере или в группе, где путь к этим файлам будет отличаться для каждого разработчика:
# settings.py
import os
def map_path(directory_name):
return os.path.join(os.path.dirname(__file__),
'../' + directory_name).replace('\\', '/')
...
TEMPLATE_DIRS = (
map_path('templates'),
)
Это удобный способ отобразить каталог шаблонов, учитывая структуру проекта:
my_app/
my_app/
__init__.py
settings.py
...
a_module/
__init__.py
models.py
templates/
layouts/
base.html
index.html
...