API 穩定性¶
Django 致力於 API 穩定性和向前相容性。簡而言之,這表示您針對特定 Django 版本開發的程式碼,將能在未來的版本中繼續運作。當您升級 Django 專案所使用的版本時,您可能需要進行小幅度的修改:請參閱您要升級的版本或多個版本的發行說明中的「向後不相容的變更」章節。
在高度重視 API 穩定性的同時,Django 也致力於持續改進,並以我們提供的 API「一途多徑」(最終)為目標。這表示當我們發現明顯更優越的方法時,我們會棄用並最終移除舊的方法。我們的目標是提供一個現代、可靠且高品質的網頁框架,鼓勵所有使用它的專案採用最佳實務。透過逐步改進,我們盡力避免停滯不前和大規模的破壞性升級。
「穩定」的意義¶
在此背景下,穩定表示
所有公開的 API (本文件中所有的內容) 不會被移動或重新命名,除非提供向後相容的別名。
如果這些 API 加入新功能 (這是很有可能的),它們不會破壞或改變現有方法的意義。換句話說,「穩定」不 (必然) 表示「完整」。
如果由於某些原因,宣告為穩定的 API 必須被移除或取代,它將被宣告為已棄用,但至少會在兩個主要功能版本中保留在 API 中。當呼叫已棄用的方法時,將會發出警告。
請參閱官方發布,以取得更多關於 Django 的版本編號方式,以及功能將如何被棄用的詳細資訊。
只有在錯誤或安全漏洞使之完全無法避免的情況下,我們才會在沒有棄用流程的情況下破壞這些 API 的向後相容性。
穩定的 API¶
一般而言,文件中涵蓋的所有內容,除了內部區域中的任何內容外,都被視為穩定。
例外情況¶
此穩定性和向後相容性承諾存在一些例外情況。
安全性修復¶
如果我們發現任何安全性問題 (希望有人遵循我們的安全性報告政策),我們會盡一切努力來修復它。這可能意味著破壞向後相容性;安全性優先於相容性保證。
標記為內部的 API¶
某些 API 會透過幾種方式明確標記為「內部」
有些文件會提及內部內容,並將它們標示為內部。如果文件說明某事物是內部內容,我們保留變更它的權利。
以底線 (
_
) 開頭的函式、方法和其他物件。這是 Python 指示某事物是私有的標準方法;如果任何方法以單一的_
開頭,它就是一個內部的 API。