在django项目中的两个应用程序之间导入

时间:2010-09-30 03:42:26

标签: python django import

我的django项目中有两个应用程序(app1和app2)。

我很好奇是否有办法在应用程序之间导入内容。

baseProject  
--app1
----models.py  
----etc..
--app2
----models.py
----etc..

我希望能够在app2中从app1的models部分导入一些东西。是否有预期的方法来做到这一点,或者我计划糟糕的架构。

2 个答案:

答案 0 :(得分:5)

你绝对可以这样做,只需照常导入即可。许多身份验证/注册相关的应用程序从Django附带的“django.contrib.auth”应用程序导入模型。无论你是否写过,都可以从任何应用程序中自由导入。

您只需要确保应用程序在您的PYTHONPATH上,以便可以导入它们。

也就是说,在跨应用程序导入内容之前考虑您的设计总是好的。确保您没有创建应用程序之间存在循环依赖关系的情况。

答案 1 :(得分:1)

你提出的是好的和公认的做法。从app2开始,您只需执行:from app1.models import SomeModel。例如,您可能习惯于从User应用导入django.contrib.auth模型。这是django应用程序可重用性的预期好处的一部分。