我有两个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.
我正在使用java.swing构建一个应用程序.我有一个主面板,一个网格面板(显示正方形)和一个细节面板(它会显示每个正方形的细节并允许您编辑它们).正方形也是对象.
我让主面板监听鼠标点击,如果你点击网格面板,网格面板将通过它的正方形ArrayList找到你点击的哪个方格,然后返回它.该正方形由主面板传递到显示面板,然后将其局部变量currentSquare设置为等于传入的正方形.
我感到困惑的是我可以编辑currentSquare,并且正在编辑ArrayList中的相应方块!我可以更改currentSquare的公共变量或使用setter来更改它们,但效果是相同的.虽然这是我想要发生的效果,但我的印象是我必须有某种getter/setter来将编辑的currentSquare带回ArrayList并替换旧的square.
我目前关于为什么会这样做的理论是它与Java的引用有关,因为square是一个自定义Object,但我不确定是这种情况还是导致这种情况的原因.最终我想知道我做了什么导致这种情况,如果它是好的/好的编程实践,保持原样或建立在此基础上(如果我建立它像这样工作,它有多大可能会破坏它).