导入错误:没有名为 books.models 的模块

3 投票
2 回答
6958 浏览
提问于 2025-04-17 18:25

我正在通过认真阅读这本书来学习Django,现在我已经到了第五章:模型。在交互式控制台里,一切都运行得很好,直到我看到基本数据访问的部分。

epqrs@epqrs:~/webapps/djcode/mysite$ pwd
/home/epqrs/webapps/djcode/mysite
epqrs@epqrs:~/webapps/djcode/mysite$ python ../manage.py shell
Python 2.7.3 (default, Sep 26 2012, 21:51:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from books.models import Publisher
Traceback (most recent call last):
  File "<console>", line 1, in <module>
ImportError: No module named books.models
>>> import sys
>>> sys.path
['/home/epqrs/webapps/djcode', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PIL', '/usr/lib/python2.7/dist-packages/gst-0.10', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client', '/usr/lib/python2.7/dist-packages/ubuntuone-client', '/usr/lib/python2.7/dist-packages/ubuntuone-control-panel', '/usr/lib/python2.7/dist-packages/ubuntuone-couch', '/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol']
>>> 

我不明白为什么会出现ImportError: No module named books.models的错误。
books这个文件夹在我当前的目录mysite下面(路径是/home/epqrs/webapps/djcode/mysite/books)。

2 个回答

1

我需要做

from mysite.books.models import Publisher

才能让它正常工作。

13

我把它改成了这样:

from books.models import Publisher, Author, Book

简单来说,我把 mysite 这一部分去掉了。 另外,把安装的应用从 'mysite.books' 改成了只用 'books'

希望这能帮到你

撰写回答