一次将多个应用程序添加到 INSTALLED_APPS

Adding several apps to INSTALLED_APPS at once

我正在开发一个应用程序,需要安装另一个应用程序。我可以将它添加到我的 setup.py,它也会安装其他应用程序。

安装我的应用程序后,我需要将其添加到 INSTALLED_APPS,但我也需要添加外部应用程序。

有没有办法隐式传递另一个应用程序?

处理这种依赖性以避免要求用户在需要时添加多个应用程序的推荐方法是什么?

如果不进行一些奇怪的黑客攻击,就没有办法做到这一点,也不应该有。用户应该知道他们正在向他们的项目中添加什么以及需要什么依赖项。记住 Django's design philosophy:

Explicit is better than implicit

看看下面的一些应用程序。它们都需要 INSTALLED_APPS 中的依赖项。他们在文档中明确表示用户必须手动将它们添加到他们的项目中:

有一个名为 django-autoconfig 的库可让您执行此操作。您基本上在您的应用程序中包含一个 autoconfig.py,如果您的应用程序包含在 INSTALLED_APPS 中,则它会加载 autoconfig.py

文件应如下所示:

SETTINGS = {
    'INSTALLED_APPS': [
        'external_app_1',
        'external_app_2',
    ],
}

阅读文档以了解有关订购和更高级内容的更多信息。