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

时间:2015-11-20 19:04:29

标签: python django django-settings django-apps

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

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

有没有办法隐式传递其他应用程序?

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

2 个答案:

答案 0 :(得分:3)

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

  

显式优于隐式

查看以下某些应用。它们都需要INSTALLED_APPS中的依赖项。他们在文档中明确指出用户必须手动将它们添加到项目中:

答案 1 :(得分:1)

有一个名为django-autoconfig的库可以让你这样做。您的应用中基本上包含autoconfig.py,如果您的应用包含在INSTALLED_APPS中,则会加载autoconfig.py

该文件应如下所示:

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

阅读文档以获取有关订购的更多信息以及更高级的内容。

相关问题