Django - 'myapp' против 'myapp.apps.myappConfig' в settings.py Установленные приложения - PullRequest
0 голосов
/ 09 июля 2020

Я знаю, что это может показаться глупым, но мне просто интересно, какая разница, если я просто наберу «myapp» вместо «myapp.apps.myappConfig» в моем списке установленных приложений. Это что-то связано с моделями что ли?

С уважением

1 Ответ

0 голосов
/ 09 июля 2020

Если вы используете myapp.apps.myappConfig, то вы явно указываете Django использовать этот класс конфигурации приложения.

Изменение класса конфигурации приложения позволяет вам изменить поведение приложения, например, когда вы используйте приложение администратора, вы можете использовать django.contrib.admin.apps.AdminConfig, которое автоматически обнаруживает приложения, или django.contrib.admin.apps.SimpleAdminConfig, которое не делает.

Если вы просто используете myapp, тогда Django попытается использовать default_app_config. Если это не установлено, то будет использоваться значение по умолчанию AppConfig.

В большинстве случаев в myappConfig нет никаких настроек или default_app_config установлен, поэтому вы ' Я получу такое же поведение, какой бы стиль вы ни использовали в INSTALLED_APPS.

С тех пор, как AppConfig был добавлен в Django 1.7, рекомендуется использовать `` myapp.apps.myappConfig because it's explicit, and avoid using default_app_config `.

Однако на практике кажется, что пользователи предпочли простоту использования myapp. Следовательно, существует открытый запрос на вытягивание , который удалит default_app_config и автоматически выберет класс конфигурации приложения, если он только один.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...