【问题标题】:Django 1.7 AppConfig v. MyModelAppConfigDjango 1.7 AppConfig 诉 MyModelAppConfig
【发布时间】:2015-04-17 15:15:44
【问题描述】:

我们只是在一个新的 1.7 项目中实现 Django AppConfig,想知道正确的“Python”/“Django”命名方式是什么?

明确命名是否更好:

class MyModelConfig(AppConfig):
    ...

或者有什么好的理由不能命名它?:

class AppConfig(AppConfig):
    ...

它更整洁,但可能不正确。

是否有任何不明显的原因以第二种方式进行?

文档中的命名在示例中使用了第一种方式,但是有什么好的理由吗? https://docs.djangoproject.com/en/1.7/ref/applications/

【问题讨论】:

    标签: django django-1.7


    【解决方案1】:

    隐藏名字通常是个坏主意。如果您像这样定义一个新类AppConfig,您将无法再访问旧的AppConfig 基类。其他方法例如:

    from django.apps import AppConfig as BaseAppConfig
    
    class AppConfig(BaseAppConfig):
    

    或者:

    from django import apps
    
    class AppConfig(apps.AppConfig):
    

    现在,这通常被认为是一个好的设计,在这种情况下甚至没有必要,因为您通常只为每个应用程序使用一个 AppConfig。然而,让良好的设计模式成为一种习惯而不是当它被打破时的例外总是一个好主意。甚至可能存在需要针对不同情况进行多个应用程序配置的极端情况。

    【讨论】:

      猜你喜欢
      • 2015-02-04
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 2014-12-12
      • 1970-01-01
      • 2014-12-13
      • 2021-10-04
      • 2021-08-22
      相关资源
      最近更新 更多