2014-09-11 40 views

回答

2

好處以子彈形式here列出。你可以看到不需要models.py只是這種新方法的一個好處。

  • 應用程序可以在啓動時運行的代碼,Django的做任何事情之前,用自己配置的準備()方法。
  • 即使在models.py之外定義了應用程序標籤,也可以正確指定應用程序標籤。您不必再明確設置app_label。
  • 如果應用程序沒有任何模型,可以完全省略models.py。
  • 應用程序可以使用應用程序配置的標籤屬性重新標記,以解決標籤衝突問題。
  • 應用程序的名稱可以在admin中使用應用程序配置的verbose_name進行自定義。
  • 當Django啓動時,管理員會自動調用autodiscover()。您可以從URLconf中刪除這一行。
  • Django通過一個確定性和直接的過程,一開始就導入所有應用程序配置和模型。這應該會更容易診斷導入問題,例如導入循環。

此外,具有與應用程序裝載到做各種錯誤應用加載重構的標題下是固定的。例如,它曾經是系統的某些部分從前到後查看INSTALLED_APPS,而其他則從後到前查看。現在訂單在整個系統中是一致的。

對於models.py,如果沒有必要讓模型成爲應用程序(例如,可重用應用程序可以只有模板或管理命令),那麼使用它來標記應用程序是沒有意義的。您以前必須包含一個空的models.py文件;現在你可以完全拋棄它。

相關問題