我正在做一个了解Django的教程。 我做的最后一章是http://www.tangowithdjango.com/book17/chapters/models.html
我正在使用通过virtualenvironmentwrapper管理的虚拟环境。 我想知道的是,进口是如何运作的。例如 我们有这样的声明:
from rango.models import Category, Page
我们处理文件 admin.py ,该文件位于 ... / rango / 所在的文件 models.py 所以我希望
from models import Category, Page
是导入语句(这似乎也可以,我可以测试它)。 好的, ... / rango / 包含 __ init __。py ,因此据我所知被视为包,但为什么我会使用更长的import-statement而不是较短的一个?
但对我来说最重要的是:
当我使用shell查看 sys.path 时,我只得到我的virtualenvwrapper创建的目录,我希望它包含(除了其他)像
之类的东西[...]/rango/..
(rango父目录的路径)。 解释器如何知道首先在哪里搜索这些模块/包?