Календарь устаревания 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
ofQuerySet.earliest()
и oflatest()
будет удален.
См. Примечания к выпуску 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
methodModelAdmin
будет удалена. - Названный параметр
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
inField.contribute_to_class()
иvirtual
inModel._meta.add_field()
будут удалены. - Представления
javascript_catalog()
иjson_catalog()
будут удалены. django.contrib.gis.utils.precision_wkt()
Функция будет удалена.- При многотабличном наследовании неявное преобразование a
OneToOneField
в aparent_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 fromdjango.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.4csrf_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, после чего Джанго будет считать , что все двигатели могут обрабатывать эти варианты.