Стабильность API

Django стремится к стабильности API и обратной совместимости. Вкратце, это означает, что код, который вы разрабатываете для версии Django, будет продолжать работать с будущими выпусками. Возможно, вам потребуется внести незначительные изменения при обновлении версии Django, которую использует ваш проект: см. Раздел «Обратно несовместимые изменения» в примечаниях к выпуску для версии или версий, до которых вы обновляетесь.

В то же время, делая стабильность API очень важным приоритетом, Django также стремится к постоянному совершенствованию, наряду с стремлением найти «один способ сделать это» (в конечном итоге) в API, которые мы предоставляем. Это означает, что, когда мы обнаруживаем явно превосходные способы делать что-то, мы осуждаем и в конечном итоге удаляем старые способы. Наша цель - предоставить современный, надежный веб-фреймворк высочайшего качества, который поощряет лучшие практики во всех проектах, которые его используют. Используя инкрементальные улучшения, мы стараемся избежать как застоя, так и серьезных критических обновлений.

Что означает «стабильный»

В этом контексте стабильный означает:

  • Все общедоступные API (все в этой документации) не будут перемещены или переименованы без предоставления обратно совместимых псевдонимов.

  • Если к этим API-интерфейсам будут добавлены новые функции, что вполне возможно, они не нарушат и не изменят значение существующих методов. Другими словами, «стабильный» не (обязательно) означает «полный».

  • Если по какой-либо причине API, объявленный стабильным, необходимо удалить или заменить, он будет объявлен устаревшим, но останется в API как минимум для двух выпусков функций. Предупреждения будут выдаваться при вызове устаревшего метода.

    См. Официальные выпуски для получения дополнительной информации о том, как работает схема нумерации версий Django, и как функции будут устаревать.

  • Мы нарушим обратную совместимость этих API без процесса устаревания только в том случае, если ошибка или дыра в безопасности сделают это полностью неизбежным.

Стабильные API

В общем, все, что описано в документации, за исключением внутренних компонентов, считается стабильным.

Исключения

Есть несколько исключений из этого обещания стабильности и обратной совместимости.

Исправления безопасности

Если нам станет известно о проблеме безопасности - надеюсь, от кого-то, кто следует нашей политике отчетности о безопасности, - мы сделаем все необходимое, чтобы ее исправить. Это может означать нарушение обратной совместимости; безопасность важнее гарантии совместимости.

API, помеченные как внутренние

Некоторые API-интерфейсы явно помечены как «внутренние» двумя способами:

  • Некоторая документация ссылается на внутренние компоненты и упоминает их как таковые. Если в документации указано, что что-то внутреннее, мы оставляем за собой право изменить это.
  • Функции, методы и другие объекты с префиксом подчеркивания ( _). Это стандартный способ Python указать, что что-то является частным; если какой-либо метод начинается с одного _, это внутренний API.

Copyright ©2021 All rights reserved