-1

对 Django 很陌生,所以请多多包涵。跟随使用 Django Book 的类(Publisher、Author、Book)的 Django polls 项目。我一直坚持在 shell 中导入我的模型。

应用名称为General,项目名称为mysite

错误:

>>> from General.models import Publisher, Author, Book

Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
from General.models import Publisher, Author, Book
ImportError: No module named General.models
>>> 

我的文件夹:

C:\
BookShelf/
  sqlite3.db
  mysite/
    mysite
    media
    manage.py
    General/
       _init_.py
       _init_.pyc
       models.py
       models.pyc
       tests.py
       views.py

如果这有帮助:

>>> import sys
>>> print sys.path
['', 'C:\\Python27\\Lib\\idlelib', 'C:\\Python27\\Lib', 'C:\\Python27\\DLLs', 'C
:\\Python27\\Lib\\lib-tk', 'C:\\BookShelf\\mysite\\General\\models.py', 'C:\\WIN
DOWS\\system32\\python27.zip', 'C:\\Python27\\"C:\\BookShelf\\mysite\\General\\m
odels.py"', 'C:\\Python27\\lib\\plat-win', 'C:\\Python27', 'C:\\Python27\\lib\\s
ite-packages', 'C:\\Python27\\lib\\site-packages\\PIL']  
>>>   

我也尝试过“来自 mysite.General.models”,但也没有成功。

提前致谢!

4

2 回答 2

0

C:\BookShelf\mysite应该在你的PYTHONPATH. 尝试以下 -

cd C:\BookShelf\mysite
python manage.py shell
from General.models import Publisher, Author, Book

您应该始终使用python manage.py shell为 django 项目打开 python shell。manage.py将您的项目包放在sys.path.

于 2013-03-21T03:24:05.297 回答
0

您的_init_.py文件应命名__init__.py- 每边两个下划线。

请注意,调用您的应用程序可能不是一个好习惯General- 您应该使用所有小写的包名称。

于 2013-03-21T09:06:49.203 回答