我有一个我一直在本地开发的Django 1.4网站(OS X 10.8.1)。它工作正常。但是我现在试图在Heroku上进行设置,并且无法从我的应用中导入模块。为什么Heroku上的我的Django站点需要不同的导入路径?
的结构是这样的:
manage.py
projectname/
__init__.py
appnameone/
appnametwo/
settings/
static/
wsgi.py
requirements.txt
在我的设置,我包括使用项目名称我自己的应用程序,如:
INSTALLED_APPS = (
...
'projectname.appnameone',
'projectname.appnametwo',
...
)
,当我导入模块,我这样做是没有项目名称,例如:
from appnameone.models.model_name import ModelName
这个本地工作正常,但当我尝试运行任何东西(如syncdb
)在Heroku上,然后我从上面的行中得到一个ImportError
。它似乎工作,如果我添加项目名称导入语句,如下所示:
from projectname.appnameone.models.model_name import ModelName
但是,这不适用于我的本地环境。
我想这是与路径有关,但我不知道发生了什么。有任何想法吗?
你有没有尝试过包括你的应用程序而没有先例''projectname''?像''appnameone'',而不是像''settings.py''中的''projectname.appnameone''? –
好的想法,但是只能在'django/template/loaders/app_directories.py'中得到'ImportError appnameone:No module named appnameone'。 –
哦,对,你有你的应用程序_内容_。很高兴你知道这个问题:D –