我正在开发一个 Django 项目,该项目分为 5 个应用程序(每个应用程序有 3-6 个模型)。总的来说,这个项目绝对是我会在其他项目中重用的东西,但它只有在包含所有应用程序时才有用,因为它们本质上是相关的。
因此,我想按照Django docs和Django cookiecutter django package打包这个项目以使其可重用。但是,这些示例仅显示如何使用单个应用程序打包。
根据我的阅读,有几个选择:
- 做5个包
- 制作一个包含 30 个模型的应用,并将 models.py 转换为模块
- 制作一个包含 5 个应用程序的包(类似于django-allauth的设置方式)
我计划使用选项 3,因为我认为选项 1 是多余的,而选项 2 被认为是不好的做法(请参阅这篇文章和这篇文章)。我在选项 3 中看到的问题是,使用此包的项目必须INSTALLED_APPS
像这样安装所有 5 个应用程序:
INSTALLED_APPS = [
'project',
'project.app1',
'project.app2',...
]
INSTALLED_APPS
如果我用 5 个应用程序打包项目,有没有办法避免安装所有应用程序?还是选项 1 或 2 更适合此用例?