2013-09-23 75 views
0

我在我的django应用程序文件夹中有子目录,并且每个我都试图调用一个模块。那我遇到的问题是,我能够通过使用*而不是由它产生的错误“异常值:不能导入名[我的模块]”名字导入模块Django导入模块:无法通过名称导入模块

from foo import Bar # throws error 
from foo import * # works 

我不知道如果我我在settings.py中丢失了任何东西,但是肯定我已经在我的INSTALLED_APPS中包含了应用程序目录,并且我还在每个目录上都有init .py。我还试图检查我的应用程序文件夹是否包含在Python路径中,并且包含它。

任何帮助将不胜感激。 THanks提前

+1

什么是错误? – karthikr

+0

你是积极的酒吧存在吗? (Caps and all) – moreisee

+0

另外,你是否试图从manage.py shell导入?或从Python?或者当你加载视图/页面时,这个错误是从django返回的。 – moreisee

回答

2

我希望你在Java方面思考。在Python中,您通过模块导入东西,而不是类名称。因此,如果目录foo包含定义类Bar的文件bar.py,则必须执行from foo.bar import Bar,而不是from foo import Bar

0

查看我的目录后,我发现我有一个与我的应用/ Foo具有相同名称的文件。删除后它开始工作。

Foo/ 
- Bar.py 
Process/ 
- Foo.py # deleted this 
- views.py 

从富进口酒吧#Foo.py被重写应用程序/美孚,我试图打电话

感谢您的答复!