【问题标题】:Django - 'myapp' vs 'myapp.apps.myappConfig' in settings.py Installed AppsDjango - settings.py 中的“myapp”与“myapp.apps.myappConfig”
【发布时间】:2020-10-30 02:23:25
【问题描述】:

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

问候

【问题讨论】:

    标签: django django-models django-templates app-config django-apps


    【解决方案1】:

    如果你使用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.myappConfigbecause it's explicit, and avoid usingdefault_app_config`。

    然而,在实践中,用户似乎更喜欢使用myapp 的简单性。所以有了an open pull request,它会去掉default_app_config,只有一个的时候会自动选择app config class。

    【讨论】:

      猜你喜欢
      • 2014-12-14
      • 2012-10-23
      • 2013-05-24
      • 2015-07-23
      • 2022-07-19
      • 2021-07-18
      • 2012-09-28
      • 2012-08-23
      • 1970-01-01
      相关资源
      最近更新 更多