ImportError:没有名为mbtiapp.models的模块

时间:2012-04-05 21:58:49

标签: windows django

我在我的XP电脑上安装了python2.7和django 1.3.1。我也在运行MySQL数据库。受第一个django应用程序教程的启发,我创建了一个带有应用程序'mbtiapp'的项目'mysite'。目录结构如下(我几乎省略了所有内容):

mysite  
mysite\mbtiapp  
mysite\mbtiapp\models.py  
mysite\mbtiapp\testMySQL.py  

正如您所看到的,有一个小的python脚本'testMySQL.py'。这是一个在MySQL引擎中的数据库中插入一行的小程序:

testMySQL.py

from mbtiapp.models import InterestRate

i = InterestRate()
i.maturity_number = 2
i.maturity_unit = 'Y'
i.currency = 'USD'
i.rate = 2.8
i.save()

一些可能相关的设置:

  • Windows环境变量DJANGO_SETTINGS_MODULE=settings

  • Windows路径:C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI.ACE\Core-Static;C:\Program Files\QuickTime\QTSystem\;c:\jmbat;c:\MinGW\bin;c:\python27;c:Django-1.3.1;c:Django-1.3.1\django\bin

  • Python Path(sys.path):'C:\\jmv_docs\\Dropbox\\python-programming\\projects\\django\\mysite', 'C:\\WINDOWS\\system32\\python27.zip', 'c:\\python27\\DLLs', 'c:\\python27\\lib', 'c:\\python27\\lib\\plat-win', 'c:\\python27\\lib\\lib-tk', 'c:\\python27', 'c:\\python27\\lib\\site-packages', 'c:\\python27\\lib\\site-packages\\wx-2.8-msw-unicode'


问题

如果我从mbtiapp运行testMySQL.py(如上所述),我得到:

Traceback (most recent call last):  
  File "mbtiapp\testMySQL.py", line 1, in <module>  
    from mbtiapp.models import InterestRate  
ImportError: No module named mbtiapp.models  

但是,当我将testMySQL.py放在上面的一个目录中(因此直接在'mysite'目录中)时,每个人都可以正常工作并在approproate表中插入一行。关键是我想将我的代码放在app目录中(在本例中为'mbtiapp'),因为这是它所属的地方,而不是在一般项目目录中。

我知道可以找到很多类似的问题,但是在网上和django网站上都找不到合适的答案。

1 个答案:

答案 0 :(得分:0)

这是导入问题。您可以通过更改import语句快速修复它。将mbtiapp.models替换为models即可。