Когда запускается Django, django.setup () отвечает за заполнение
реестр приложений.
setup (set_prefix = True) Конфигурирует Django с помощью:
Загрузка настроек. Настройка ведения журнала. Если set_prefix - True,
установка префикса сценария преобразователя URL-адресов на FORCE_SCRIPT_NAME, если
определяется или / иным образом. Инициализация реестра приложений. это
функция вызывается автоматически:
При запуске HTTP-сервера через поддержку WSGI в Django. При вызове
команда управления. Он должен быть вызван явно в других случаях, для
экземпляр в простых скриптах Python.
Реестр приложений инициализируется в три этапа. На каждом
Django обрабатывает все приложения в порядке
INSTALLED_APPS.
Сначала Django импортирует каждый элемент в INSTALLED_APPS.
Если это класс конфигурации приложения, Django импортирует root
пакет приложения, определяемый его атрибутом name. Если это
Пакет Python, Django создает конфигурацию приложения по умолчанию.
На данном этапе ваш код не должен импортировать никакие модели!
Другими словами, корневые пакеты ваших приложений и модули, которые
определить классы конфигурации вашего приложения не должны импортировать какие-либо
модели даже косвенно.
Строго говоря, Django позволяет импортировать модели сразу после их
загружена конфигурация приложения. Однако во избежание
ненужные ограничения порядка INSTALLED_APPS, это сильно
на этом этапе не рекомендуется импортировать какие-либо модели.
По завершении этого этапа API, работающие с приложением
конфигурации, такие как get_app_config (), становятся пригодными для использования.
Затем Django пытается импортировать подмодуль модели каждого
приложение, если оно есть.
Вы должны определить или импортировать все модели в вашем файле models.py
или модели / __ init__.py. В противном случае реестр приложения может не
полностью заселены, что может привести к тому, что ORM
неисправность.
По завершении этого этапа API, работающие с такими моделями, как
get_model () станет доступным для использования.
Наконец, Django запускает метод ready () каждого приложения
конфигурации.