如何让Django应用程序导入另一个Django应用程序或模块?

Dr.*_*ide 1 python django

我有两个Django应用程序最终将共享大量代码(两者都引用外部API并对API返回的内容进行数据操作).我正在尝试找出如何在两个应用程序之间正确共享代码.

到目前为止,我一直在尝试使用前两个导入的第三个应用程序,所以我的文件结构如下所示:


\MyProject
    \app1
        __init__.py
        views.py
    \app2
        __init__.py
        views.py
    \common
        __init__.py
        myCommonCode.py
Run Code Online (Sandbox Code Playgroud)

但是当我从app1或app2尝试以下操作时,我没有看到myCommonCode.py


import common
print dir(common)
Run Code Online (Sandbox Code Playgroud)

我的settings.py中的所有三个应用都包含在我的INSTALLED_APPS中.

我确信有一些简单的我想念,我似乎无法找出它是什么.为了澄清,我不是试图在这一点上共享相同的模型,而是使用相同的python代码来扩展到外部API.

Kla*_* D. 5

如果导入包,则看不到子模块.您必须在__init__.py或直接导入它 :

from common import myCommonCode
Run Code Online (Sandbox Code Playgroud)