2012-03-07 187 views
1

我有一个项目,有多个应用程序。DJANGO:错误导入模块

在视图中,我可以这样做:

from app1.models import Foo 

,但我不能这样做:

from app2.buz import Buz 

我已经做:

from myproject.app2.buz import Buz 

,使其工作。

为什么?

也许有一些与我试图导入的模块是这样命名的?

charts.charts进口表

,或者不关心是什么名字,而路径是正确的?

回答

0

django不会调用任何有关导入的特殊魔法。导入行为与股票python行为相同。你在DJANGO_SETTINGS_ MODULE中做了些什么巧妙的事情?你的应用程序在同一个目录中吗?以下是什么告诉你的?

 
from app1.models import Foo 
Foo 

from myproject.app2.buz import Buz 
Buz 
+0

这两个应用程序目录位于项目目录中。 这个olny发生在一个具体的应用程序,其他人工作正常。我想我没有在django_settings中做任何事...... 另外,我想导入这两个类的视图也在第三个应用程序中,也在项目目录中。 – ekms 2012-03-07 21:20:11

+0

在交互式python提示符下,当您在导入模块名称后输入模块名称...那是什么告诉你的? – Andrew 2012-03-09 19:50:41

+0

与一个正常的交互式Python提示符,我得到两种导入方式的错误,但我认为它与路径和我使用virtualenv的事实有关。 从我的IDE(pycharm)中,我运行一个交互式控制台,我得到: ImportError:设置无法导入,因为环境变量DJANGO_SETTINGS_MODULE未定义。 但如果我运行“django控制台”: from charts.charts进口图表 我得到<< class charts.charts.Chart >>,它没有抱怨。 – ekms 2012-03-12 00:25:14