Python 在django中构建可重用包
我正在尝试为django构建一个reusbale包,该包包含多个应用程序,因为该项目相当大 因此,结构中有am apps文件夹,其中有多个应用程序付款、产品、帐户等 当我试图使项目可重用时,我在源项目的不同位置创建了它,并对源项目中的根文件夹进行了符号链接 现在,当我想安装应用程序时,我必须在已安装的应用程序中逐个编写它们Python 在django中构建可重用包,python,django,Python,Django,我正在尝试为django构建一个reusbale包,该包包含多个应用程序,因为该项目相当大 因此,结构中有am apps文件夹,其中有多个应用程序付款、产品、帐户等 当我试图使项目可重用时,我在源项目的不同位置创建了它,并对源项目中的根文件夹进行了符号链接 现在,当我想安装应用程序时,我必须在已安装的应用程序中逐个编写它们 INSTALLED_APPS = ('PACKAGE.apps.store', 'PACKAGE.apps.product',
INSTALLED_APPS = ('PACKAGE.apps.store',
'PACKAGE.apps.product',
'PACKAGE.apps.delivery',
'PACKAGE.apps.payment',
'PACKAGE.apps.store',
'PACKAGE.apps.cart',
'PACKAGE.apps.tax')
有没有一种方法,我只能在我安装的应用程序中包含“PACKAGE”,也许可以使用PACKAGE init加载其他模块
我在PACKAGE/\uuuu init\uuuuuuuuy.py
from django.conf import settings as user_settings
from PACKAGE.conf import settings
user_settings.INSTALLED_APPS = user_settings.INSTALLED_APPS + settings.INSTALLED_APPS
但它不起作用,有人能就此提出建议吗 我认为,一旦执行了“from django.conf import settings”行,设置实际上是不可变的
我要做的是稍微颠倒一下逻辑。在包/\uuuu init\uuuuu.py中。比如:
def get_apps():
apps = (
'apps.store',
'apps.other',
...
)
return [__name__ + '.' + x for x in apps]
那么就:
INSTALLED_APPS += get_apps()
在settings.py中。我经常这样做是为了让我们的settings.py易于管理,它似乎工作得很好