Django - settings.py 安装的应用程序中的“myapp”与“myapp.apps.myappConfig”

Fan*_*ceh 4 django app-config django-templates django-models django-apps

我知道这听起来可能很愚蠢,但我只是想知道如果我在我的已安装应用程序列表中输入“myapp”而不是“myapp.apps.myappConfig”有什么区别。它与模型有关还是什么?

问候

Ala*_*air 7

如果您使用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 usingdefault_app_config`。

然而,在实践中,用户似乎更喜欢使用myapp. 因此,有一个 open pull request将删除default_app_config,并在只有一个时自动选择应用程序配置类。