来自appname.models import Publisher,Author,Book

时间:2013-03-21 02:59:58

标签: django django-models pythonpath

Django很新,所以请耐心等待。接下来使用Django民意调查项目使用The Django Book的课程(出版商,作者,书籍)。我一直坚持在shell中导入我的模型。

应用名称为常规,项目名称为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'并没有成功。

提前致谢!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

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