0

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

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

如您所见,有一个小 Python 脚本“testMySQL.py”。这是一个在 MySQL 引擎的数据库中插入一行的小程序:

测试MySQL.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

  • 窗口路径: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 路径(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”目录中)时,一切正常,并且在适当的表中插入了一行。关键是我想将我的代码放在应用程序目录中(在本例中为“mbtiapp”),因为这是它所属的位置,而不是一般项目目录中。

我知道可以找到很多类似的问题,但无论是在网络上,还是在 django 网站上,我都没有找到合适的答案。

4

1 回答 1

0

This is an issue with importing. You can quickly fix it by changing import statement. Replace mbtiapp.models with models and it will work.

于 2012-04-06T08:26:37.413 回答