通过django中INSTALLED_apps中的一个条目安装多个应用程序(依赖项)



依赖关系的概念在Django应用程序中也可用吗?

例如,假设我正在构建自己的自定义Django应用程序"CCD_ 1";可以在任何Django项目中重用。

因此,每当你需要将其添加到项目中时,你都必须添加

INSTALLED_APPS = [
...
'polls.apps.PollsConfig',
]

但我们也要说,这个轮询应用程序依赖于Django REST框架,所以无论何时使用它,都必须添加

INSTALLED_APPS = [
...
'polls.apps.PollsConfig',
'rest_framework',
]

如果这取决于更多的应用程序,我是否必须在每个项目的settings.py中再次列出它们呢?

或者,有没有办法将rest_framework添加为polls应用程序的apps.py中的已安装应用程序,以便在项目上安装轮询时自动安装?

可插拔应用程序无法覆盖主机项目的设置。我们可以在项目运行之前向应用程序添加更多的检查和验证。


FYI:为了验证依赖包的存在,我们可以使用ready(...)-(DOC(方法,PollsConfig类为,

from django.contrib.admin.apps import AdminConfig

class PollsConfig(AdminConfig):
def ready(self):
try:
import rest_framework
except ImportError:
raise ValueError("Missing 'rest_framework' from 'INSTALLED_APPS'")

最新更新