Django - 'myapp' vs 'myapp.apps.myappConfig' in settings.py Installed Apps

Django - 'myapp' vs 'myapp.apps.myappConfig' in settings.py Installed Apps

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

此致

如果您使用 myapp.apps.myappConfig,那么您就是在明确告诉 Django 使用该应用程序配置 class。

更改应用程序配置 class 可让您更改应用程序的行为,例如,当您使用管理应用程序时,您可以使用 django.contrib.admin.apps.AdminConfig 自动发现应用程序,或 django.contrib.admin.apps.SimpleAdminConfig, 而不是。

如果你只是使用myapp,那么Django会尝试使用default_app_config。如果未设置,则它将使用默认值 AppConfig.

很多时候,myappConfig 中没有任何自定义设置,或者设置了 default_app_config,因此无论您在 [=18= 中使用哪种样式,都会得到相同的行为].

自从在 Django 1.7 中添加了 AppConfig 以来,建议一直使用``myapp.apps.myappConfigbecause it's explicit, and avoid usingdefault_app_config`。

然而,在实践中,用户似乎更喜欢使用 myapp 的简单性。因此,an open pull request 将删除 default_app_config,并在只有一个时自动 select 应用程序配置 class。