Django AppConfig ready()

У меня Django 2.1.7

Я прочитал документацию Django, а также вот это Как использовать django AppConfig.ready() и вот это Определение AppConfig.ready().

Теперь структура папок/файлов выглядит следующим образом,

my_app
 __init__.py
 urls.py
 sub_app1
  migrations
  __init__.py
  admin.py
  apps.py
  models.py
  ...
 sub_app2
  ...
 sub_app3
  ...

и все sub_app зарегистрированы в INSTALLED_APPS файле Django settings.py, как my_app.sub_app1, например. Я заметил, что когда я пытаюсь переопределить ready() для sub_app1 в sub_app1.apps.py, переопределение не имеет эффекта.

Когда я уплощаю свою структуру выше как

my_app
 __init__.py
 urls.py
 apps.py

переопределение ready работает нормально.

Другими словами, похоже, что переопределение ready вложенного приложения внутри apps.py вложенного приложения не работает.

Кроме того, при использовании default_app_config внутри приложения __init__.py или my_app.sub_app1.apps.SubApp1Config внутри settings.py INSTALLED_APPS возникает ошибка django.core.exceptions.ImproperlyConfigured: Cannot import 'sub_app1'. Check that 'my_app.sub_app1.apps.SubApp1Config.name' is correct.

Почему это происходит?

Вернуться на верх