我有两个Django应用程序最终将共享大量代码(两者都引用外部API并对API返回的内容进行数据操作)。我试图了解如何在两个应用之间正确共享代码。
到目前为止,我一直在尝试使用前两个导入的第三个应用,所以我的文件结构看起来像这样:
\MyProject
\app1
__init__.py
views.py
\app2
__init__.py
views.py
\common
__init__.py
myCommonCode.py
但是当我从app1或app2尝试以下内容时,我看不到myCommonCode.py
import common
print dir(common)
我的settings.py中的所有三个应用都包含在我的INSTALLED_APPS中。
我确信我有一些简单的东西我不知道,我似乎无法找出它是什么。为了澄清,我 NOT 尝试在此时共享相同的模型,但是用于扩展到外部API的相同python代码。
答案 0 :(得分:5)
如果导入包,则看不到子模块。你必须在中导入它
__init__.py
或直接:
from common import myCommonCode