依赖关系的概念在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'")