Календарь устаревания Django

В этом документе указаны сроки, когда различные аспекты Django будут удалены или изменены без обратной совместимости после периода устаревания в соответствии с политикой устаревания . Более подробная информация об этих различных элементах часто доступна в примечаниях к выпуску, предшествующих им в двух версиях.

4.0

См. Примечания к выпуску Django 3.0 для получения более подробной информации об этих изменениях.

  • django.utils.http.urlquote() , urlquote_plus() , urlunquote() И urlunquote_plus() будут удалены.
  • django.utils.encoding.force_text() и smart_text() будет удален.
  • django.utils.translation.ugettext() , ugettext_lazy() , ugettext_noop() , ungettext() И ungettext_lazy() будут удалены.
  • django.views.i18n.set_language() больше не будет устанавливать язык пользователя в request.session (ключ django.utils.translation.LANGUAGE_SESSION_KEY ).
  • alias=None будет обязательно в подписи подклассов django.db.models.Expression.get_group_by_cols() .
  • django.utils.text.unescape_entities() будут удалены.
  • django.utils.http.is_safe_url() будут удалены.

См. Примечания к выпуску Django 3.1 для получения более подробной информации об этих изменениях.

  • PASSWORD_RESET_TIMEOUT_DAYS Настройки будут удалены.
  • Недокументированное использование isnull поиска с небулевыми значениями в правой части больше не будет разрешено.
  • Класс django.db.models.query_utils.InvalidQuery исключения будет удален.
  • Точка django-admin.py входа будет удалена.
  • HttpRequest.is_ajax() Метод будет удален.
  • Поддержка формата кодирования значений файлов cookie до Django 3.1 django.contrib.messages.storage.cookie.CookieStorage будет удалена.
  • Поддержка токенов сброса пароля до Django 3.1 на сайте администратора (которые используют алгоритм хеширования SHA-1) будет удалена.
  • Поддержка формата кодирования сессий до Django 3.1 будет удалена.
  • Поддержка django.core.signing.Signer подписей до Django 3.1 (закодированных с помощью алгоритма SHA-1) будет удалена.
  • Поддержка django.core.signing.dumps() подписей до Django 3.1 (закодированных с помощью алгоритма SHA-1) django.core.signing.loads() будет удалена.
  • Поддержка пользовательских сессий до Django 3.1 (использующих алгоритм SHA-1) будет удалена.
  • get_request Аргумент django.utils.deprecation.MiddlewareMixin.__init__() будет требоваться и не будет принимать None .
  • providing_args Аргумент django.dispatch.Signal будет удален.
  • length Аргумент django.utils.crypto.get_random_string() потребуется.
  • list Сообщение для ModelMultipleChoiceField будет удалено.
  • django.views.generic.TemplateView больше не будет передавать URL kwargs напрямую в context .
  • Поддержка передачи псевдонимов необработанных столбцов QuerySet.order_by() будет удалена.
  • Модель NullBooleanField будет удалена. Поле-заглушка останется для совместимости с историческими миграциями.
  • django.conf.urls.url() будет удален.
  • Модель django.contrib.postgres.fields.JSONField будет удалена. Поле-заглушка останется для совместимости с историческими миграциями.
  • django.contrib.postgres.forms.JSONField , django.contrib.postgres.fields.jsonb.KeyTransform , И django.contrib.postgres.fields.jsonb.KeyTextTransform будут удалены.
  • В и шаблонные теги будут удалены.{% ifequal %} {% ifnotequal %}
  • DEFAULT_HASHING_ALGORITHM Переходная настройка будет удалена.

3,1

См. Примечания к выпуску Django 2.2 для получения более подробной информации об этих изменениях.

  • django.utils.timezone.FixedOffset будут удалены.
  • django.core.paginator.QuerySetPaginator будут удалены.
  • Атрибут Meta.ordering templates больше не влияет на запросы .GROUP BY
  • django.contrib.postgres.fields.FloatRangeField и django.contrib.postgres.forms.FloatRangeField будет удален.
  • Настройка FILE_CHARSET будет удалена.
  • django.contrib.staticfiles.storage.CachedStaticFilesStorage будут удалены.
  • RemoteUserBackend.configure_user() потребуется request в качестве первого позиционного параметра.
  • Поддержка SimpleTestCase.allow_database_queries и TransactionTestCase.multi_db будет удалена.

3,0

См. Примечания к выпуску Django 2.0 для получения более подробной информации об этих изменениях.

  • Модуль django.db.backends.postgresql_psycopg2 будет удален.
  • django.shortcuts.render_to_response() будут удалены.
  • Настройка DEFAULT_CONTENT_TYPE будет удалена.
  • HttpRequest.xreadlines() будут удалены.
  • Управление параметром context из Field.from_db_value() и Expression.convert_value() будет удалено.
  • Именованный параметр field_name of QuerySet.earliest() и of latest() будет удален.

См. Примечания к выпуску Django 2.1 для получения более подробной информации об этих изменениях.

  • django.contrib.gis.db.models.functions.ForceRHR будут удалены.
  • django.utils.http.cookie_date() будут удалены.
  • Библиотеки тегов шаблона staticfiles и admin_static будут удалены.
  • django.contrib.staticfiles.templatetags.static() будут удалены.
  • Уровень совместимости, позволяющий InlineModelAdmin.has_add_permission() устанавливать без параметров, obj будет удален.

2,1

См. Примечания к выпуску Django 1.11 для получения более подробной информации об этих изменениях.

  • contrib.auth.views.login() , logout() , password_change() , password_change_done() , password_reset() , password_reset_done() , password_reset_confirm() И password_reset_complete() будут удалены.
  • Установка extra_context из contrib.auth.views.logout_then_login() будут удалены.
  • django.test.runner.setup_databases() будут удалены.
  • django.utils.translation.string_concat() будут удалены.
  • django.core.cache.backends.memcached.PyLibMCCache больше не будет поддерживать передачу настроек поведения в pylibmc качестве атрибутов верхнего уровня OPTIONS .
  • Установка host из django.utils.http.is_safe_url() будут удалены.
  • Скрытие исключений, возникающих при рендеринге тега шаблона, будет удалено.{% include %}
  • DatabaseIntrospection.get_indexes() будут удалены.
  • В качестве первого позиционного параметра authenticate() потребуется метод проверки подлинности request .
  • Декоратор django.db.models.permalink() будет удален.
  • Настройка USE_ETAGS будет удалена. CommonMiddleware и django.utils.cache.patch_response_headers() больше не будет создавать ETag.
  • Атрибут Model._meta.has_auto_field будет удален.
  • Вспомогательные url() флаги строк в регулярных выражениях групп ( (?i) , (?L) , (?m) , (?s) , и (?u) ) будут удалены.
  • Поддержка методов Widget.render() без параметра renderer будет удалена.

2,0

См . Примечания к выпуску Django 1.9 для получения более подробной информации об этих изменениях.

  • Установка weak из django.dispatch.signals.Signal.disconnect() будут удалены.
  • django.db.backends.base.BaseDatabaseOperations.check_aggregate_support() будут удалены.
  • Пакет django.forms.extras будет удален.
  • Утилита assignment_tag будет удалена.
  • Установка host из assertsRedirects будут удалены. Уровень совместимости, который позволяет считать абсолютные URL-адреса равными относительным URL-адресам при одинаковом пути, также будет удален.
  • Field.rel будут удалены.
  • Атрибут Field.remote_field.to будет удален.
  • Параметр on_delete из ForeignKey и OneToOneField станет обязательным.
  • django.db.models.fields.add_lazy_relation() будут удалены.
  • Когда поддержка часовых поясов активна, ядра баз данных, которые не поддерживают часовые пояса, больше не будут преобразовывать даты и время часовых поясов в наивные значения UTC, когда такие значения передаются в качестве параметра пользователям. SQL-запросы, выполняемые вне ORM, например с cursor.execute() .
  • Декоратор django.contrib.auth.tests.utils.skipIfCustomUser() будет удален.
  • Классы GeoManager и GeoQuerySet будут удалены.
  • Модуль django.contrib.gis.geoip будет удален.
  • Проверка supports_recursion загрузчиков шаблонов будет удалена из:
    • django.template.engine.Engine.find_template()
    • django.template.loader_tags.ExtendsNode.find_template()
    • django.template.loaders.base.Loader.supports_recursion()
    • django.template.loaders.cached.Loader.supports_recursion()
  • Методы загрузчика шаблонов load_template() и load_template_sources() будут удалены.
  • Настройка template_dirs загрузчиков шаблонов будет удалена из:
    • django.template.loaders.base.Loader.get_template()
    • django.template.loaders.cached.Loader.cache_key()
    • django.template.loaders.cached.Loader.get_template()
    • django.template.loaders.cached.Loader.get_template_sources()
    • django.template.loaders.filesystem.Loader.get_template_sources()
  • Метод django.template.loaders.base.Loader.__call__() будет удален.
  • Поддержка пользовательских просмотров ошибок с одним позиционным параметром будет удалена.
  • Атрибут mime_type из django.utils.feedgenerator.Atom1Feed и django.utils.feedgenerator.RssFeed будет удален в пользу content_type .
  • Установка app_name из django.conf.urls.include() будут удалены.
  • Поддержка передачи 3-кортежа в качестве первого аргумента include() будет удалена.
  • Поддержка установки пространства имен экземпляра URL без пространства имен приложения будет удалена.
  • Field._get_val_from_obj() будет удален в пользу Field.value_from_object() .
  • django.template.loaders.eggs.Loader будут удалены.
  • Установка current_app из contrib.auth будут удалены.
  • callable_obj Ключевое слово аргумент SimpleTestCase.assertRaisesMessage() будет удален.
  • Поддержка атрибута allow_tags method ModelAdmin будет удалена.
  • Названный параметр enclosure из SyndicationFeed.add_item() будет удален.
  • django.template.loader.LoaderOrigin И django.template.base.StringOrigin псевдонимы для django.template.base.Origin будут удалены.

См. Примечания к выпуску Django 1.10 для получения более подробной информации об этих изменениях.

  • Опция будет удалена.makemigrations --exit
  • Поддержка прямого присвоения обратному внешнему ключу или отношению «многие ко многим» будет удалена.
  • Эти get_srid() и set_srid() методы django.contrib.gis.geos.GEOSGeometry будут удалены.
  • Методы get_x() , set_x() , get_y() , set_y() , get_z() и , set_z() чтобы django.contrib.gis.geos.Point управлять.
  • Методы get_coords() и set_coords() к django.contrib.gis.geos.Point исключить.
  • Свойство cascaded_union из django.contrib.gis.geos.MultiPolygon будет удалено.
  • django.utils.functional.allow_lazy() будут удалены.
  • Опция будет удалена.shell --plain
  • Модуль django.core.urlresolvers будет удален.
  • Модель CommaSeparatedIntegerField будет удалена. Поле-заглушка останется для совместимости с историческими миграциями.
  • Поддержка шаблонного Context.has_key() метода будет удалена.
  • Поддержка для django.core.files.storage.Storage.accessed_time() , created_time() и modified_time() методы будут удалены.
  • Поддержка поиска запросов с использованием имени модели, когда Meta.default_related_name задана, будет удалена.
  • __search Поиск запроса и DatabaseOperations.fulltext_search_sql() метод будут удалены.
  • Прокладка для поддержки настраиваемых связанных классов менеджеров без _apply_rel_filters() метода будет удалена.
  • Использование методов User.is_authenticated() и User.is_anonymous() as больше не поддерживается.
  • Частный атрибут virtual_fields из Model._meta будет удален.
  • Аргументы частного ключевого слова virtual_only in Field.contribute_to_class() и virtual in Model._meta.add_field() будут удалены.
  • Представления javascript_catalog() и json_catalog() будут удалены.
  • django.contrib.gis.utils.precision_wkt() Функция будет удалена.
  • При многотабличном наследовании неявное преобразование a OneToOneField в a parent_link будет удалено.
  • Поддержка Widget._format_value() будет удалена.
  • FileField методы get_directory_name() и get_filename() будут удалены.
  • Функция mark_for_escaping() и классы , которые он использует: EscapeData , EscapeBytes , EscapeText , EscapeString и EscapeUnicode будут удалены.
  • Фильтр escape будет изменен на использование django.utils.html.conditional_escape() .
  • Manager.use_for_related_fields будут удалены.
  • Manager Наследование модели будет следовать правилам наследования MRO, и Meta.manager_inheritance_from_future согласие на это поведение будет удалено.
  • settings.MIDDLEWARE_CLASSES Будет удалена поддержка старого стиля использования промежуточного программного обеспечения .

1,10

См. Примечания к выпуску Django 1.8 для получения более подробной информации об этих изменениях.

  • Поддержка SQLCompiler прямого вызова a как псевдонима для вызова его quote_name_unless_alias метода будет удалена.
  • cycle а firstof теги шаблонов будут удалены из future библиотеки тегов шаблонов (использовалась в период прекращения поддержки 1.6 / 1.7).
  • django.conf.urls.patterns() будут удалены.
  • Поддержка prefix аргумента в django.conf.urls.i18n.i18n_patterns() будет удалена.
  • SimpleTestCase.urls будут удалены.
  • Использование неправильного подсчета распакованных значений в for теге шаблона вызовет исключение, а не завершится ошибкой.
  • Возможность обратного URL-адреса с использованием пути Python, разделенного точками, будет удалена.
  • Возможность использовать точечный путь Python для LOGIN_URL и LOGIN_REDIRECT_URL настроек будет удалена.
  • Поддержка optparse пользовательских команд управления будет прекращена (заменена на argparse ).
  • Класс django.core.management.NoArgsCommand будет удален. BaseCommand Вместо этого используйте , который по умолчанию не принимает аргументов.
  • Модуль django.core.context_processors будет удален.
  • Модуль djangodb.models.sql.aggregates будет удален.
  • Модуль django.contrib.gis.db.models.sql.aggregates будет удален.
  • Следующие методы и свойства django.db.sql.query.Query будут удалены:
    • Свойства: aggregates иaggregate_select
    • Методы add_aggregate , set_aggregate_mask и append_aggregate_mask .
  • django.template.resolve_variable будут удалены.
  • Следующие частные API будут удалены из django.db.models.options.Options ( Model._meta ):
    • get_field_by_name()
    • get_all_field_names()
    • get_fields_with_model()
    • get_concrete_fields_with_model()
    • get_m2m_with_model()
    • get_all_related_objects()
    • get_all_related_objects_with_model()
    • get_all_related_many_to_many_objects()
    • get_all_related_m2m_objects_with_model()
  • Установка error_message из django.forms.RegexField будут удалены.
  • Фильтр unordered_list больше не поддерживает списки в старом стиле.
  • Поддержка параметров в view виде текста url() будет удалена.
  • Назад слой совместимости переименовать django.forms.Form._has_changed() в has_changed() будет удален.
  • Фильтр шаблона removetags будет удален.
  • Функции remove_tags() и strip_entities() чтобы django.utils.html быть удалены.
  • Установка is_admin_site из django.contrib.auth.views.password_reset() будут удалены.
  • django.db.models.field.subclassing.SubfieldBase будут удалены.
  • django.utils.checksums будут удалены; эта функция включена в django-localflavor 1.1+.
  • Атрибут original_content_type_id из django.contrib.admin.helpers.InlineAdminForm будет удален.
  • Уровень совместимости, который FormMixin.get_form() можно установить без значения по умолчанию для его параметра, form_class будет удален.
  • Будут удалены следующие настройки:
    • ALLOWED_INCLUDE_ROOTS
    • TEMPLATE_CONTEXT_PROCESSORS
    • TEMPLATE_DEBUG
    • TEMPLATE_DIRS
    • TEMPLATE_LOADERS
    • TEMPLATE_STRING_IF_INVALID
  • Псевдоним обратной совместимости django.template.loader.BaseLoader будет удален.
  • Объекты шаблонов Django, возвращаемые get_template() и select_template() больше не принимаемые Context в их методах render() .
  • Эти интерфейсы API отклика шаблона будет принудительно использовать dict и в зависимости от двигателя шаблона объектов вместо Context и соответственно Template .
  • Параметр current_app будет удален из следующих функций и классов:
    • django.shortcuts.render()
    • django.template.Context()
    • django.template.RequestContext()
    • django.template.response.TemplateResponse()
  • Параметры dictionary и context_instance будут удалены из следующих функций:
    • django.shortcuts.render()
    • django.shortcuts.render_to_response()
    • django.template.loader.render_to_string()
  • Эта настройка dirs будет удалена из следующих функций:
    • django.template.loader.get_template()
    • django.template.loader.select_template()
    • django.shortcuts.render()
    • django.shortcuts.render_to_response()
  • Проверка сеанса будет активна независимо от наличия 'django.contrib.auth.middleware.SessionAuthenticationMiddleware' в MIDDLEWARE_CLASSES .
  • Приватный атрибут django.db.models.Field.related будет удален.
  • Параметр --list административной команды migrate будет удален.
  • Тег шаблона ssi будет удален.
  • Поддержка оператора сравнения = будет удалена в теге шаблона if .
  • Прокладки обратной совместимости, разрешающие Storage.get_available_name() и Storage.save() определяемые без max_length аргументов, будут удалены.
  • Поддержка устаревшего %(<foo>)s синтаксиса ModelFormMixin.success_url будет удалена.
  • Методы агрегирования GeoQuerySet collect() , extent() , extent3d() , make_line() и unionagg() будут удалены.
  • Возможность указать ContentType.name при создании экземпляра типа контента будет удалена.
  • Поддержка старой подписи allow_migrate будет удалена. Он изменился с на .allow_migrate(self, db, model) allow_migrate(self, db, app_label, model_name=None, **hints)
  • Поддержка синтаксиса , использующего аргументы, разделенные запятыми, будет удалена.{% cycle %}
  • Предупреждение, которое Signer выдается, если задан недопустимый разделитель, станет исключением.

1,9

См. Примечания к выпуску Django 1.7 для получения более подробной информации об этих изменениях.

  • django.utils.dictconfig будут удалены.
  • django.utils.importlib будут удалены.
  • django.utils.tzinfo будут удалены.
  • django.utils.unittest будут удалены.
  • Заказ syncdb будет удален.
  • django.db.models.signals.pre_syncdb и django.db.models.signals.post_syncdb будет удален.
  • allow_syncdb на роутерах базы данных больше не будет автоматически становиться allow_migrate .
  • Автоматическая синхронизация приложений без миграций будет удалена. Миграция станет обязательной для всех приложений, если вы не передадите эту --run-syncdb опцию migrate .
  • Команды SQL для приложений управления без миграции sql , sqlall , sqlclear , sqldropindexes , и sqlindexes , будут удалены.
  • Поддержка автоматической загрузки initial_data фикстур и исходных данных SQL будет удалена.
  • Все модели необходимо будет определить внутри установленного приложения или объявить явный app_label . Кроме того, их невозможно будет импортировать до загрузки приложения. В частности, будет невозможно импортировать модели внутри корневого пакета своего приложения.
  • Модель и форма IPAddressField будут удалены. Поле-заглушка останется для совместимости с историческими миграциями.
  • AppCommand.handle_app() больше не будет поддерживаться.
  • RequestSite и get_current_site() больше нельзя будет импортировать из django.contrib.sites.models .
  • Поддержка FastCGI через команду runfcgi управления будет удалена. Разверните свой проект с помощью WSGI.
  • django.utils.datastructures.SortedDict будет удален. Использование collections.OrderedDict стандартной библиотеки Python вместо.
  • ModelAdmin.declared_fieldsets будет удален.
  • Экземпляры util.py в кодовой базе Django были переименованы utils.py в, чтобы объединить все ссылки на util и utils. Модули, которые обеспечивали обратную совместимость, будут удалены:
    • django.contrib.admin.util
    • django.contrib.gis.db.backends.util
    • django.db.backends.util
    • django.forms.util
  • ModelAdmin.get_formsets будут удалены.
  • Прокладка обратной совместимости, введенная для переименования BaseMemcachedCache._get_memcache_timeout() метода, get_backend_timeout() будет удалена.
  • Параметры --natural и -n для dumpdata быть удалены.
  • Установка use_natural_keys из serializers.serialize() будут удалены.
  • Частный API django.forms.forms.get_declared_fields() будет удален.
  • Возможность использования компонента SplitDateTimeWidget с DateTimeField будет удалена.
  • Свойство WSGIRequest.REQUEST будет удалено.
  • Класс django.utils.datastructures.MergeDict будет удален.
  • В zh-cn и zh-tw языковые коды будут удалены и заменены на zh-hans и zh-hant код языка соответственно.
  • Внутренняя функция django.utils.functional.memoize будет удалена.
  • django.core.cache.get_cache будут удалены. Вместо этого добавьте соответствующие строки CACHES и используйте django.core.cache.caches .
  • django.db.models.loading будут удалены.
  • Передача исполняемых параметров в наборы запросов больше не будет возможна.
  • BaseCommand.requires_model_validation будет удален в пользу requires_system_checks .
  • Атрибуты ModelAdmin.validator_class и default_validator_class будут удалены.
  • ModelAdmin.validate() будут удалены.
  • django.db.backends.DatabaseValidation.validate_field будет удален в пользу check_field метода.
  • Команда администрирования validate будет удалена.
  • django.utils.module_loading.import_by_path будет удален в пользу django.utils.module_loading.import_string .
  • ssi а url теги шаблонов будут удалены из future библиотеки тегов шаблонов (использовалась в период прекращения поддержки версий 1.3 / 1.4).
  • django.utils.text.javascript_quote будут удалены.
  • Параметры тестирования базы данных как независимые записи в параметрах базы данных с префиксом TEST_ , больше не поддерживаются.
  • cache_choices Вариант ModelChoiceField и ModelMultipleChoiceField будет удален.
  • Значение RedirectView.permanent атрибута по умолчанию изменится с True на False .
  • django.contrib.sitemaps.FlatPageSitemap будет удален в пользу django.contrib.flatpages.sitemaps.FlatPageSitemap .
  • Частный API django.test.utils.TestTemplateLoader будет удален.
  • Модуль django.contrib.contenttypes.generic будет удален.
  • Частные API django.db.models.sql.where.WhereNode.make_atom() и django.db.models.sql.where.Constraint будут удалены.

1,8

См. Примечания к выпуску Django 1.6 для получения более подробной информации об этих изменениях.

  • django.contrib.comments будут удалены.
  • Следующие API управления транзакциями будут удалены:
    • TransactionMiddleware ,
    • декораторы и менеджеров контекста autocommit , commit_on_success и commit_manually , определенные в django.db.transaction ,
    • функции commit_unless_managed и rollback_unless_managed , также определены в django.db.transaction ,
    • настройка TRANSACTIONS_MANAGED .
  • cycle И firstof теги шаблонов будет автоматически избежать их аргументы. В версиях 1.6 и 1.7 такое поведение обеспечивается версией этих тегов в future библиотеке тегов шаблона.
  • SEND_BROKEN_LINK_EMAILS Настройки будут удалены. Вместо этого добавьте django.middleware.common.BrokenLinkEmailsMiddleware промежуточное ПО в свои MIDDLEWARE_CLASSES настройки.
  • django.middleware.doc.XViewMiddleware будут удалены. django.contrib.admindocs.middleware.XViewMiddleware Вместо этого используйте .
  • Model._meta.module_name был переименован в model_name .
  • Удалите обратно совместимые прокладки, введенные для переименования get_query_set и подобных методов набора запросов. Это влияет на следующие классы: BaseModelAdmin , ChangeList , BaseCommentNode , GenericForeignKey , Manager , SingleRelatedObjectDescriptor и ReverseSingleRelatedObjectDescriptor .
  • Удалите обратно совместимые прокладки, введенные для переименования атрибутов ChangeList.root_query_set и ChangeList.query_set .
  • django.views.defaults.shortcut будет удален, чтобы удалить все django.contrib ссылки из основной кодовой базы Django. Вместо этого используйте django.contrib.contenttypes.views.shortcut . django.conf.urls.shortcut также будет удален.
  • Модуль Python Imaging Library (PIL) больше не будет поддерживаться, так как он больше не поддерживается активно и не работает с Python 3.
  • Следующие частные API будут удалены:
    • django.db.backend
    • django.db.close_connection()
    • django.db.backends.creation.BaseDatabaseCreation.set_autocommit()
    • django.db.transaction.is_managed()
    • django.db.transaction.managed()
  • django.forms.widgets.RadioInput будет удален в пользу django.forms.widgets.RadioChoiceInput .
  • Модуль django.test.simple и класс django.test.simple.DjangoTestSuiteRunner будут удалены. django.test.runner.DiscoverRunner Вместо этого используйте .
  • Модуль django.test._doctest будет удален. Вместо этого используйте модуль doctest из стандартной библиотеки Python.
  • Настройка CACHE_MIDDLEWARE_ANONYMOUS_ONLY будет удалена.
  • Использование жестко запрограммированной кнопки Удерживайте нажатой «Control» или «Command» на Mac, чтобы выбрать более одного. строка для переопределения или добавления к предоставленным пользователем help_text в формах для полей модели ManyToMany больше не будет выполняться Django ни на уровне модели, ни на уровне форм.
  • Эти Model._meta.get_(add|change|delete)_permission методы будут удалены.
  • Ключ сеанса django_language больше не будет считываться для обратной совместимости.
  • Географические файлы Sitemap будут удалены ( django.contrib.gis.sitemaps.views.index и django.contrib.gis.sitemaps.views.sitemap ).
  • django.utils.html.fix_ampersands , fix_ampersands фильтр шаблона и django.utils.html.clean_html будет удален после ускоренного прекращения поддержки.

1,7

См. Примечания к выпуску Django 1.5 для получения более подробной информации об этих изменениях.

  • Модуль django.utils.simplejson будет удален. Стандартная библиотека предоставляет то, json что следует использовать вместо этого.
  • Функция django.utils.itercompat.product будет удалена. Вместо этого следует использовать встроенную версию Python.
  • Автоматическая коррекция параметров INSTALLED_APPS и TEMPLATE_DIRS, когда они указаны как простая строка вместо кортежа, будет удалена и вызовет исключение.
  • mimetype Аргумент к __init__ способам HttpResponse , SimpleTemplateResponse и TemplateResponse , будет удален. content_type следует использовать вместо этого. Это также относится к render_to_response() ярлыкам и представлениям карты сайта, index() и sitemap() .
  • При HttpResponse создании экземпляра с итератором или при content установке на итератор этот итератор будет немедленно использован.
  • AUTH_PROFILE_MODULE Параметр, а get_profile() метод на модели пользователя, будут удалены.
  • Команда cleanup управления будет удалена. Он заменен на clearsessions .
  • daily_cleanup.py Скрипт будет удален.
  • depth Ключевое слово аргумент будет удален из select_related() .
  • Недокументированные get_warnings_state() / restore_warnings_state() functions from django.test.utils и save_warnings_state() / restore_warnings_state() django.test. * TestCase устарели. warnings.catch_warnings Вместо этого используйте диспетчер контекста, доступный начиная с Python 2.6.
  • Недокументированный check_for_test_cookie метод AuthenticationForm будет удален после ускоренного прекращения поддержки. Пользователи, создающие подклассы этой формы, должны удалить вызовы этого метода и вместо этого убедиться, что их представления, связанные с аутентификацией, защищены CSRF, что гарантирует включение файлов cookie.
  • Версия django.contrib.auth.views.password_reset_confirm() , поддерживающая идентификаторы пользователей в кодировке base36 ( django.contrib.auth.views.password_reset_confirm_uidb36 ), будет удалена. Если на вашем сайте Django 1.6 используется дольше PASSWORD_RESET_TIMEOUT_DAYS , это изменение не повлияет. В противном случае любые ссылки для сброса пароля, созданные до обновления до Django 1.7, не будут работать после обновления.
  • django.utils.encoding.StrAndUnicode Смесь в будет удалена.

1,6

См. Примечания к выпуску Django 1.4 для получения более подробной информации об этих изменениях.

  • django.contrib.databrowse будет удален.
  • django.contrib.localflavor будет удален после ускоренного прекращения поддержки.
  • django.contrib.markup будет удален после ускоренного прекращения поддержки.
  • Модули совместимости django.utils.copycompat и django.utils.hashcompat , а также функция django.utils.itercompat.all и django.utils.itercompat.any будут удалены. Вместо этого следует использовать встроенные версии Python.
  • csrf_response_exempt И csrf_view_exempt декораторы будут удалены. Поскольку 1.4 csrf_response_exempt не использовался (он возвращает ту же функцию) и csrf_view_exempt был синонимом django.views.decorators.csrf.csrf_exempt , который следует использовать для его замены.
  • В django.core.cache.backends.memcached.CacheClass Django 1.3 бэкэнд был разделен на две части, чтобы обеспечить поддержку PyLibMC. Историческое CacheClass будет удалено в пользу django.core.cache.backends.memcached.MemcachedCache .
  • Объекты с префиксом UK django.contrib.localflavor.uk будут доступны только через их имена с префиксом GB (GB - правильный код ISO 3166 для Соединенного Королевства).
  • IGNORABLE_404_STARTS И IGNORABLE_404_ENDS настройки были заменены IGNORABLE_404_URLS в выпуске 1.4. Они будут удалены.
  • Мастер форм был переработан для использования представлений на основе классов с подключаемыми серверными модулями в версии 1.4. Предыдущая реализация будет удалена.
  • Устаревшие способы звонка cache_page() будут удалены.
  • Прокладка обратной совместимости для автоматического добавления фильтра ложных отладок в 'mail_admins' обработчик ведения журнала будет удалена. LOGGING Установка должна включать этот фильтр явно , если это желательно.
  • Встроенные функции усечения django.utils.text.truncate_words() и django.utils.text.truncate_html_words() будут удалены в пользу django.utils.text.Truncator класса.
  • django.contrib.gis.geoip.GeoIP Класс был перенесен django.contrib.gis.geoip в 1.4 - ярлык в django.contrib.gis.utils будут удалены.
  • django.conf.urls.defaults будет удален. Функции include() , patterns() и url() более , handler404 и handler500 теперь доступен через django.conf.urls .
  • Функции setup_environ() и execute_manager() будут удалены из django.core.management . Это также означает, что старый (до 1.4) стиль manage.py файлов больше не будет работать.
  • Не Установка is_safe и needs_autoescape флаги , как больше не поддерживаются атрибуты функций шаблона фильтра.
  • Атрибут HttpRequest.raw_post_data был переименован HttpRequest.body в 1.4. Обратную совместимость уберут - HttpRequest.raw_post_data работать больше не будет.
  • Значение post_url_continue параметра в ModelAdmin.response_add() должно быть либо None (для перенаправления на страницу редактирования вновь созданного объекта), либо предварительно отформатированным URL-адресом. Строковые форматы, такие как предыдущее значение по умолчанию '../%s/' , больше не принимаются.

1,5

См. Примечания к выпуску Django 1.3 для получения более подробной информации об этих изменениях.

  • Запуск Django без a SECRET_KEY приведет к исключению, а не к DeprecationWarning . (Это ускорено по сравнению с обычным путем отказа от поддержки; см. Примечания к выпуску Django 1.4 .)
  • mod_python Обработчик запроса будет удален. mod_wsgi Обработчик должен использоваться вместо этого.
  • template Атрибут django.test.client.Response объектов , возвращенных тестовый клиент будет удален. templates Атрибут должен быть использован вместо.
  • django.test.simple.DjangoTestRunner Будут удалены. Вместо этого используйте unittest -native класс. Функции django.test.simple.DjangoTestRunner (включая отказоустойчивость и завершение теста Ctrl-C) могут быть предоставлены unittest.TextTestRunner .
  • Недокументированная функция django.contrib.formtools.utils.security_hash будет удалена, вместо этого используйтеdjango.contrib.formtools.utils.form_hmac
  • Модули универсального представления на основе функций будут удалены в пользу их эквивалентов на основе классов, описанных здесь .
  • django.core.servers.basehttp.AdminMediaHandler Будут удалены. Вместо него используйте django.contrib.staticfiles.handlers.StaticFilesHandler .
  • Библиотека тегов шаблона adminmedia и тег шаблона будут удалены в пользу общей обработки статических файлов. (Это быстрее, чем обычный способ отказа от поддержки; см. Примечания к выпуску Django 1.4 .){% admin_media_prefix %}
  • В url и ssi шаблонных теги будут изменены таким образом, что первый аргумент каждого тега является переменным шаблон, а не подразумеваемая строки. В версии 1.4 такое поведение обеспечивается версией тега в future библиотеке тегов шаблона.
  • Команды администрирования reset и sqlreset будут удалены.
  • Бэкэнд аутентификации должен будет поддерживать передачу неактивного пользователя всем методам, имеющим дело с разрешениями. Не supports_inactive_user атрибут больше не будет проверяться и могут быть удалены из пользовательских движков.
  • transform() будет вызывать GEOSException при вызове геометрии без значения SRID.
  • django.http.CompatCookie будет удален в пользу django.http.SimpleCookie .
  • django.core.context_processors.PermWrapper и django.core.context_processors.PermLookupDict будет удален в пользу соответствующих django.contrib.auth.context_processors.PermWrapper и django.contrib.auth.context_processors.PermLookupDict , соответственно.
  • Параметры MEDIA_URL или STATIC_URL должны заканчиваться косой чертой в конце, чтобы обеспечить единообразный способ объединения путей в шаблонах.
  • django.db.models.fields.URLField.verify_exists будет удален. Эта функция была объявлена ​​устаревшей в версии 1.3.1 из-за неразрешимых проблем с безопасностью и производительностью, и срок ее прекращения будет несколько ускорен.
  • Переводы, расположенные по так называемому пути проекта, будут игнорироваться во время процесса построения перевода, выполняемого во время выполнения. Этот LOCALE_PATHS параметр можно использовать для той же задачи, включив locale в его значение путь файловой системы к каталогу, содержащему переводы, не связанные с приложением.
  • Приложение Markup contrib больше не поддерживает версии библиотеки Python-Markdown ранее, чем 2.1. Использовалась ускоренная временная шкала, поскольку это было устаревшим, связанным с безопасностью.
  • CACHE_BACKEND Настройки будут удалены. Бэкэнд (ы) кеширования должен быть указан в CACHES настройке.

1,4

См. Примечания к выпуску Django 1.2 для получения более подробной информации об этих изменениях.

  • CsrfResponseMiddleware и CsrfMiddleware будет удален. Используйте тег шаблона внутри форм, чтобы включить защиту CSRF. остается и по умолчанию включен.{% csrf_token %} CsrfViewMiddleware
  • Старый импорт функции CSRF ( django.contrib.csrf.* ), который передавался в ядро ​​Django в версии 1.2, будет удален.
  • Модуль django.contrib.gis.db.backend будет удален в пользу конкретных движков.
  • SMTPConnection будет удален в пользу общего API электронной почты.
  • Функции генерации SQL "многие ко многим" в ядрах базы данных будут удалены.
  • Возможность использовать семейство настроек первого уровня DATABASE_* для определения соединений с базой данных будет удалена.
  • Возможность использовать сокращенную запись для указания серверной части базы данных (т.е. sqlite3 вместо django.db.backends.sqlite3 ) будет удалена.
  • В get_db_prep_save , get_db_prep_value и get_db_prep_lookup методы должны поддерживать несколько баз данных.
  • Message Модель (в django.contrib.auth ), связанный с ним менеджер в User модели ( user.message_set ), и связанные с ним методы ( user.message_set.create() и user.get_and_delete_messages() ), будут удалены. Фреймворк сообщений следует использовать вместо этого. Связанная messages переменная, возвращаемая обработчиком контекста аутентификации, также будет удалена. Обратите внимание, что это означает, что приложение администратора будет зависеть от обработчика контекста сообщений.
  • Бэкэнды аутентификации должны будут поддерживать obj параметр для проверки разрешений. Не supports_object_permissions атрибут больше не будет проверяться и могут быть удалены из пользовательских движков.
  • Бэкэнды аутентификации должны будут поддерживать AnonymousUser класс, передаваемый всем методам, имеющим дело с разрешениями. Не supports_anonymous_user переменная больше не будет проверяться и могут быть удалены из пользовательских движков.
  • Возможность указать вызываемый загрузчик шаблонов, а не Loader класс, будет удалена, как и load_template_source функции, которые включены во встроенные загрузчики шаблонов для обратной совместимости.
  • django.utils.translation.get_date_formats() и django.utils.translation.get_partial_date_formats() . Эти функции будут удалены; используйте локаль, django.utils.formats.get_format() чтобы получить соответствующие форматы.
  • В django.forms.fields , постоянный: DEFAULT_DATE_INPUT_FORMATS , DEFAULT_TIME_INPUT_FORMATS и DEFAULT_DATETIME_INPUT_FORMATS будут удалены. Используйте django.utils.formats.get_format() для получения подходящих форматов.
  • Возможность использования основанного на функциях средства выполнения тестов будет удалена вместе с средством выполнения django.test.simple.run_tests() тестов.
  • Представление views.feed() и feeds.Feed класс django.contrib.syndication будут удалены. views.Feed Вместо этого следует использовать представление на основе классов .
  • django.core.context_processors.auth , В этом выпуске старый метод будет заменен на новый в django.contrib.auth.context_processors.auth .
  • Ядро базы данных postgresql будет удалено, используйте вместо этого движок postgresql_psycopg2 .
  • Код языка no будет удален, поскольку он был заменен на код языка nb .
  • Бэкэнды аутентификации должны будут определять логический атрибут supports_inactive_user до версии 1.5, когда предполагается, что все бэкенды будут обрабатывать неактивных пользователей.
  • django.db.models.fields.XMLField будет удален. Это было объявлено устаревшим как часть выпуска 1.3. Был использован график ускоренного прекращения поддержки, поскольку поле не выполняло никакой роли, кроме простой TextField с момента удаления oldforms . Все варианты использования XMLField можно заменить на TextField .
  • Недокументированный mixin параметр open() метода django.core.files.storage.Storage (и подклассов) будет удален.

1,3

См. Примечания к выпуску Django 1.1 для получения более подробной информации об этих изменениях.

  • AdminSite.root() , Этот метод разветвления админских URL будет удален в пользу включения admin.site.urls .
  • Authentication двигатели должны установить логические атрибуты supports_object_permissions и supports_anonymous_user до версии 1.4, после чего Джанго будет считать , что все двигатели могут обрабатывать эти варианты.

Copyright ©2020 All rights reserved