Python 将django项目部署到Web派系并使用TemplateDoesNotExist
我试图将django项目部署到Web派系,但遇到了服务器看不到我的templates文件夹的问题Python 将django项目部署到Web派系并使用TemplateDoesNotExist,python,django,apache,deployment,webfaction,Python,Django,Apache,Deployment,Webfaction,我试图将django项目部署到Web派系,但遇到了服务器看不到我的templates文件夹的问题 PROJECT_DIR = os.path.dirname((os.path.dirname((os.path.dirname(__file__))))) TEMPLATE_DIRS = ( os.path.join(PROJECT_DIR,'templates'), ) httpd.conf中的python路径: python-path=/home/wadadaaa/w
PROJECT_DIR = os.path.dirname((os.path.dirname((os.path.dirname(__file__)))))
TEMPLATE_DIRS = (
os.path.join(PROJECT_DIR,'templates'),
)
httpd.conf中的python路径:
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)
有没有办法解决这个问题?在部署到WebParty时,我会将项目的父目录添加到python\u路径:
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
...
您重新启动了Apache实例吗?当然,是的,但是您是想将这一行添加到httpd.conf吗?是的,您会将额外的路径添加到httpd.conf中对现有路径的更改抱歉,这就是我的意思。