Django导入模块:无法通过名称导入模块
问题描述:
我在我的django应用程序文件夹中有子目录,并且每个我都试图调用一个模块。那我遇到的问题是,我能够通过使用*而不是由它产生的错误“异常值:不能导入名[我的模块]”名字导入模块Django导入模块:无法通过名称导入模块
from foo import Bar # throws error
from foo import * # works
我不知道如果我我在settings.py中丢失了任何东西,但是肯定我已经在我的INSTALLED_APPS中包含了应用程序目录,并且我还在每个目录上都有init .py。我还试图检查我的应用程序文件夹是否包含在Python路径中,并且包含它。
任何帮助将不胜感激。 THanks提前
答
我希望你在Java方面思考。在Python中,您通过模块导入东西,而不是类名称。因此,如果目录foo
包含定义类Bar
的文件bar.py
,则必须执行from foo.bar import Bar
,而不是from foo import Bar
。
答
查看我的目录后,我发现我有一个与我的应用/ Foo具有相同名称的文件。删除后它开始工作。
Foo/
- Bar.py
Process/
- Foo.py # deleted this
- views.py
从富进口酒吧#Foo.py被重写应用程序/美孚,我试图打电话
感谢您的答复!
什么是错误? – karthikr
你是积极的酒吧存在吗? (Caps and all) – moreisee
另外,你是否试图从manage.py shell导入?或从Python?或者当你加载视图/页面时,这个错误是从django返回的。 – moreisee