3
我閱讀了文檔,但無法理解如何消除models.py的需求將改進系統。最新的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
文件;現在你可以完全拋棄它。