相对进口

cat*_*ine 8 django

我正在阅读Two Scoops Django最佳实践,以提高我的编码风格.我是相对导入的,这里是使其可重用的示例代码.

Old Way:
from cones.foo import bar

New way:
from .foo import bar
Run Code Online (Sandbox Code Playgroud)

以上代码适用于cones应用程序,如果我在其他应用程序中调用其他模型该怎么办?我必须这样说:

from .foo import bar
from .other import sample

OR

from .foo import bar
from test.other import sample
Run Code Online (Sandbox Code Playgroud)

什么是正确的方法?

Cra*_*ezy 18

我通常只使用这样的导入有一个原因

from .foo import bar
from .other import sample
Run Code Online (Sandbox Code Playgroud)

原因是如果明天,我的模块名称从'test'变为'mytest',那么代码不需要重构.代码工作没有破坏.

更新

所有导入都以'.'开头 dot,仅适用该模块.交叉模块导入需要整个路径.