将Django应用程序部署到Heroku

时间:2015-01-29 19:30:31

标签: django heroku

我试图将myapp部署到Heroku。我按照文档进行操作,但现在遇到了这个错误:

TemplateDoesNotExist at /
login_home.html
Request Method: GET
Request URL:    http://myapp.herokuapp.com/
Django Version: 1.7.4
Exception Type: TemplateDoesNotExist
Exception Value:    
login_home.html
Exception Location: /app/.heroku/python/lib/python2.7/site-packages/django/template/loader.py in find_template, line 136
Python Executable:  /app/.heroku/python/bin/python
Python Version: 2.7.9
Python Path:    
['/app',
 '/app/.heroku/python/bin',
 '/app/.heroku/python/lib/python2.7/site-packages/setuptools-11.3.1-py2.7.egg',
 '/app/.heroku/python/lib/python2.7/site-packages/pip-6.0.6-py2.7.egg',
 '/app',
 '/app/.heroku/python/lib/python27.zip',
 '/app/.heroku/python/lib/python2.7',
 '/app/.heroku/python/lib/python2.7/plat-linux2',
 '/app/.heroku/python/lib/python2.7/lib-tk',
 '/app/.heroku/python/lib/python2.7/lib-old',
 '/app/.heroku/python/lib/python2.7/lib-dynload',
 '/app/.heroku/python/lib/python2.7/site-packages']
Server time:    Thu, 29 Jan 2015 14:24:21 -0500

设置告诉我我的模板可以在/myapp/static/templates/找到,这在当地是正确的。

我已经看过几篇关于类似问题的帖子,但都没有解决我的问题。

请帮忙!

erip

修改

以下是我settings.py

的相关部分
BASE_DIR = os.path.dirname(os.path.dirname(__file__))

TEMPLATE_DIRS = (
   os.path.join(os.path.dirname(BASE_DIR), "myapp", "static", "templates"),
)

1 个答案:

答案 0 :(得分:0)

我已经停止使用Heroku了,但我快速浏览了一下我知道曾在那里举办过的项目。我记得使用the path.py module解决了与文件系统相关的很多问题。

对于它的价值,这些是我与模板相关的设置:

from path import Path
PROJECT_ROOT = Path(__file__).abspath().dirname().dirname()

TEMPLATE_DIRS = (
    PROJECT_ROOT / 'templates',
)

试一试,我会说。