Хронология устаревания Django

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

4,1

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

  • Поддержка назначения объектов, которые не поддерживают создание глубоких копий с copy.deepcopy()атрибутами класса, TestCase.setUpTestData()будет удалена.
  • BaseCommand.requires_system_checks не поддерживает логические значения.
  • whitelistАргумент и domain_whitelistатрибут django.core.validators.EmailValidatorбудет удален.
  • default_app_configПеременной модуль будет удален.
  • TransactionTestCase.assertQuerysetEqual()` will no longer automatically call ``repr() в наборе запросов по сравнению со строковыми значениями.
  • django.core.cache.backends.memcached.MemcachedCache будет удален.
  • Поддержка формата сообщений до Django 3.2 django.contrib.messages.storage.cookie.CookieStorageбудет удалена.

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будет удалено.
  • Поддержка передачи псевдонимов необработанных столбцов 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больше не будет влиять на запросы.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Ключевое слово аргумент QuerySet.earliest()и 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()больше не будет устанавливать ETags.
  • Model._meta.has_auto_fieldАтрибут будет удален.
  • url()поддержка «S для встроенных флагов регулярных выражений групп ( (?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-адреса равными относительным при идентичном пути, также будет удален.
  • 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атрибута в 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_onlyin Field.contribute_to_class()и virtualin 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 модуль будет удален.
  • django.db.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-localflavor1.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.CacheClassDjango 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.*), который был перенесен в ядро ​​в версии 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.
  • Бэкэндам аутентификации необходимо определить логические атрибуты supports_object_permissionsи supports_anonymous_userдо версии 1.4, после чего он будет считать , что все движки будут поддерживать эти параметры.

Copyright ©2021 All rights reserved