这几乎是Python,但是从Django用户那里询问。
假设这是Django应用程序的布局:
Web客户端
- 应用
- MyApp的#1
- 库
- library.py
- MyApp的#2
- views.py
- MyApp的#3
如果我正在使用views.py,并且我想导入library.py,哪一个看起来更好?
from webclient.apps.myapp.library import LibraryClass
from webclient.apps.myapp.library.library import LibraryClass
我正在使用PyCharm,无论哪种方式都不会抱怨“未解析的引用”。 是否更好地导入非常特殊。第二种导入方法是否更有可能避免名称冲突,如果可能的话(比如/ library /有几个.py文件)?
感谢。
答案 0 :(得分:4)
您应该始终从定义它们的位置导入名称。这样,如果webclient.apps.myapp.library
一天停止导入LibraryClass
,则不会破坏其他导入。
答案 1 :(得分:3)
作为Ignacio的回答的后续内容,您应该查看您正在使用的库的文档,以查看它建议您导入内容的位置。可能虽然LibraryClass
中定义了webclient.apps.myapp.library.library
,但它被记录为webclient.apps.myapp.library
,因此在某些时候,定义可能会移到那里,或webclient.apps.myapp.library.oldversion
,但仍可从webclient.apps.myapp.library
访问。