Python“;从[dot]包装导入…“;语法

Python“;从[dot]包装导入…“;语法,python,import,Python,Import,浏览Django教程,我看到了以下语法: from .models import Recipe, Ingredient, Instruction 有人能解释一下.models是如何工作的吗?通常我有: from myapp.models import 如果没有.models前面的myapp部分,它如何工作?可能重复: 是一个快捷方式,告诉它在PYTHONPATH的其余部分之前搜索当前包。因此,如果在您的PYTHONPATH中的其他地方存在同名模块Recipe,则不会加载该模块。除了Sudee

浏览Django教程,我看到了以下语法:

from .models import Recipe, Ingredient, Instruction
有人能解释一下.models是如何工作的吗?通常我有:

from myapp.models import
如果没有.models前面的myapp部分,它如何工作?

可能重复:


是一个快捷方式,告诉它在
PYTHONPATH
的其余部分之前搜索当前包。因此,如果在您的
PYTHONPATH
中的其他地方存在同名模块
Recipe
,则不会加载该模块。

除了Sudeep Juvekar之外,这个问题还与
manage.py
的行为有关

在:

它将项目的包放在
sys.path


@Hack-R-2点代表父目录。@Bhindi噢,谢谢!我不敢相信我没有意识到Python首先检查当前目录,那么它有什么用呢@shadow0359“当前”目录并不总是脚本所在的目录。该脚本可以导入到其他目录中的另一个脚本中。这些被称为相对导入。请参见此处的完整官方解释:,以及此处的另一个答案:。