【问题标题】:Full config path vs app name in Django INSTALLED_APPSDjango INSTALLED_APPS 中的完整配置路径与应用程序名称
【发布时间】:2020-03-20 06:24:29
【问题描述】:

Django documentation 中,一行内容如下:

新应用程序应避免使用 default_app_config。相反,他们应该要求在 INSTALLED_APPS 中显式配置相应 AppConfig 子类的虚线路径。

这表明我应该要求我的应用程序的用户(我们称之为sports)在他们的INSTALLED_APPS 列表中使用以下字符串:

"sports.apps.SportsConfig"

但是,我使用的所有 Django 应用程序(django-rest-framework、django-cors-headers、django-celery-results)都使用 default_app_config 并且只需要我指定字符串的第一部分(在我的案例"sports")。

那么我应该如何编写我的应用程序? (1) 遵循文档中的建议并强制用户编写整个字符串 "sports.apps.SportsConfig" 或 (2) 遵循 Django 世界中所有其他应用程序正在执行的操作,并允许用户仅编写字符串的第一部分 @ 987654329@.

【问题讨论】:

  • 这些流行的应用程序是否应该使用完整配置(例如"rest_framework.apps.RestFrameworkConfig")而不是短版本("rest_framework")?
  • 我认为你已经足够回答这个问题了,看这个stackoverflow.com/questions/34377237/…

标签: django


【解决方案1】:

我认为这完全取决于您是否要为您的应用覆盖 Class AppConfig 的自定义默认值。

我的意见:最好只为您在 Django 项目中创建的应用程序从 Class AppConfig 继承来创建 CustomAppConfig(例如sports.apps.SportsConfig)。因为您可以调整不同的参数,例如名称、标签、管理面板的详细名称。

【讨论】:

    猜你喜欢
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 2013-10-28
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多