Установка нескольких приложений одной записью в INSTALLED_APPS в django (зависимость)
доступна ли концепция зависимостей и в приложениях Django?
Например, допустим, я создаю свое собственное пользовательское приложение Django "polls
", которое может быть повторно использовано в любом проекте Django.
поэтому всякий раз, когда вам нужно добавить его в проект, вы должны будете добавить
INSTALLED_APPS = [
...
'polls.apps.PollsConfig',
]
но давайте также скажем, что это приложение для опросов зависит от Django REST Framework, поэтому всякий раз, когда вы используете его, вам придется добавить и его
INSTALLED_APPS = [
...
'polls.apps.PollsConfig',
'rest_framework',
]
А как насчет того, если он зависит от еще большего количества приложений, должен ли я снова перечислять их все в settings.py
каждого проекта?
Или, есть ли способ добавить rest_framework
как установленное приложение внутри apps.py
приложения polls
, чтобы оно автоматически устанавливалось всякий раз, когда polls устанавливается на проект?
Приложения pluggable не могут переопределить настройки главного проекта. Мы можем добавить больше проверок и валидаций к приложениям перед запуском проекта.
FYI: чтобы проверить наличие пакета зависимости, мы можем воспользоваться методом ready(...)
--(DOC) класса PollsConfig
as,
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'")