我正在阅读Two Scoops Django Best Practices来改进我的编码风格。我是在相对导入,这里是示例代码,使其可重用。
Old Way:
from cones.foo import bar
New way:
from .foo import bar
字符串
上面的代码是为锥应用程序,如果我调用其他应用程序中的其他模型?我一定要这样说:
from .foo import bar
from .other import sample
OR
from .foo import bar
from test.other import sample
型
正确的方法是什么?
2条答案
按热度按时间esbemjvw1#
我通常使用这样的导入只有一个原因
字符串
原因是如果明天,我的模块名称从'test'更改为'mytest',那么代码不需要重构。密码不会被破解。
更新
所有以'.'点开始的导入,只在该包内工作。跨包导入需要整个路径。
thigvfpy2#
如果
test
是另一个应用程序,字符串
不起作用。
更新:
仅当从同一应用导入时,才能使用相对导入。
test
应用程序内部型
可以。但你还是需要完整的表格
型
如果您从
test
应用程序导入foo
中定义方法,所以用第二种方式回答你的问题才是正确的。