问题描述
我有django独立的应用程序命名为django_codeserver
。它可以作为一个pip包从我的私有包注册表中加载。
我的app包含大约20个子app,例如django_codeserver.headers
,django_codeserver.genders
等
当前行为要注册我使用django_codeserver
的项目中的所有模型,我必须注册父项目INSTALLED_APPS
中的所有子应用程序,例如:
INSTALLED_APPS = [
...
'django_codeserver.headers',
'django_codeserver.genders'
...
]
首选行为我希望所有的子应用程序被注册在父项目,当我只有:
- 使用pip-package (pip Install django- coserver)安装独立的django应用
- 在父项目中只注册父应用:
INSTALLED_APPS = [
'django_codeserver
]
研究这个问题后,我找不到确切的解决办法。然而,我们可以处理这里指出的这个问题。
所以我们不能自动安装子应用程序,但是我们可以重用包含所有子应用程序的应用程序,而不直接在父项目INSTALLED_APPS中编写所有应用程序。
通过这种方式,可重用应用的安装文档在添加新的子应用后不会改变。同时,包含的子应用的维护从可重用应用的消费者转移到它的提供者。