最新的Django-1.7版本的“应用程序加载重构”功能有什么好处?

问题描述:

我阅读了文档,但无法理解如何消除models.py的需求将改进系统。最新的Django-1.7版本的“应用程序加载重构”功能有什么好处?

好处以子弹形式here列出。你可以看到不需要models.py只是这种新方法的一个好处。

  • 应用程序可以在启动时运行的代码,Django的做任何事情之前,用自己配置的准备()方法。
  • 即使在models.py之外定义了应用程序标签,也可以正确指定应用程序标签。您不必再明确设置app_label。
  • 如果应用程序没有任何模型,可以完全省略models.py。
  • 应用程序可以使用应用程序配置的标签属性重新标记,以解决标签冲突问题。
  • 应用程序的名称可以在admin中使用应用程序配置的verbose_name进行自定义。
  • 当Django启动时,管理员会自动调用autodiscover()。您可以从URLconf中删除这一行。
  • Django通过一个确定性和直接的过程,一开始就导入所有应用程序配置和模型。这应该会更容易诊断导入问题,例如导入循环。

此外,具有与应用程序装载到做各种错误应用加载重构的标题下是固定的。例如,它曾经是系统的某些部分从前到后查看INSTALLED_APPS,而其他则从后到前查看。现在订单在整个系统中是一致的。

对于models.py,如果没有必要让模型成为应用程序(例如,可重用应用程序可以只有模板或管理命令),那么使用它来标记应用程序是没有意义的。您以前必须包含一个空的models.py文件;现在你可以完全抛弃它。