Linha do tempo de depreciações no Django¶
Este documento lista quando várias peças do Django serão removidas ou alteradas de modo incompatível com versões anteriores, culminando com a sua depreciação, conforme política de depreciação. Mais detalhes sobre cada item geralmente podem ser encontrados nas notas da release de duas versões anteriores.
2.1¶
See the Django 1.11 release notes for more details on these changes.
- contrib.auth.views.login(),- logout(),- password_change(),- password_change_done(),- password_reset(),- password_reset_done(),- password_reset_confirm(), e- password_reset_complete()serão removidos.
- The extra_contextparameter ofcontrib.auth.views.logout_then_login()will be removed.
- django.test.runner.setup_databases()será removido.
- django.utils.translation.string_concat()será removido.
- django.core.cache.backends.memcached.PyLibMCCachewill no longer support passing- pylibmcbehavior settings as top-level attributes of- OPTIONS.
- The hostparameter ofdjango.utils.http.is_safe_url()will be removed.
- Silencing of exceptions raised while rendering the {% include %}template tag will be removed.
- DatabaseIntrospection.get_indexes()será removido.
- The authenticate()method of authentication backends will requirerequestas the first positional argument.
- The django.db.models.permalink()decorator will be removed.
- The USE_ETAGSsetting will be removed.CommonMiddlewareanddjango.utils.cache.patch_response_headers()will no longer set ETags.
- O atributo Model._meta.has_auto_fieldserá removido.
- Support for regular expression groups with iLmsu#inurl()will be removed.
- Suporte para Widget.render()métodos sem o argumentorendererserá removido.
2.0¶
Veja as notas da release do Django 1.9 para mais detalhes sobre essas mudanças.
- O argumento weakdedjango.dispatch.signals.Signal.disconnect()será removido.
- django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()será removida.
- O pacote django.forms.extrasserá removido.
- O helper assignment_tagserá removido.
- O argumento hostemassertsRedirectsserá removido. A camada de compatibilidade que permite que URLs absolutas sejam consideradas iguais as URLs relativas quando o caminho é idêntico também será removido.
- Field.relserá removido.
- O atributo Field.remote_field.toserá removido.
- O argumento on_deleteparaForeignKeyeOneToOneFieldserá requerido.
- django.db.models.fields.add_lazy_relation()será removido.
- Quando o suporte a time zone estiver habilitado, backends de banco de dados que não suportam time zones não converterão mais datetimes aware para valores naive em UTC quando esses valores são passados como parâmetros para consultas SQL executadas fora do ORM, ex. com cursor.execute().
- O decorator django.contrib.auth.tests.utils.skipIfCustomUser()será removido.
- As classes GeoManagereGeoQuerySetserão removidas.
- O módulo django.contrib.gis.geoipserá removido.
- A verificação de supports_recursionpara template loaders será removido de:- 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()
 
- Os métodos de template loaders load_template()eload_template_sources()serão removidos.
- O argumento template_dirspara template loaders será removido.- 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()
 
- O método django.template.loaders.base.Loader.__call__()será removido.
- Suporte para views com erros customizados com um parâmetro posicional será removido.
- o atributo mime_typededjango.utils.feedgenerator.Atom1Feededjango.utils.feedgenerator.RssFeedserá removido para promovercontent_type.
- O argumento app_nameeminclude()será removido.
- Suporte a passagem de tuplas de 3 elementos como primeiro argumento no include()será removido.
- Suporte para setar o namespace de uma instância de URL sem um namespace de aplicação será removido.
- Field._get_val_from_obj()será removido para promover- Field.value_from_object().
- django.template.loaders.eggs.Loaderserá removido.
- O parâmetro current_apppara viewscontrib.authserá removido.
- O argumento chave callable_objparaSimpleTestCase.assertRaisesMessage()será removido.
- Suporte para o atributo allow_tagsem métodos deModelAdminserão removidos.
- O argumento chave enclosureemSyndicationFeed.add_item()será removido.
- Os aliases de django.template.loader.LoaderOriginedjango.template.base.StringOriginparadjango.template.base.Originserão removidos.
Veja a Django 1.10 release notes para mais detalhes sobre essas mudanças.
- A opção makemigrations --exitserá removida.
- Suporte para atribuição direta a uma reversa relação foreign key ou many-to-many deve ser removido
- Os métodos get_srid()eset_srid()emdjango.contrib.gis.geos.GEOSGeometryserão removidos.
- Os métodos get_x(),set_x(),get_y(),set_y(),get_z(), eset_z()emdjango.contrib.gis.geos.Pointserão removidos.
- Os métodos get_coords()eset_coords()emdjango.contrib.gis.geos.Pointserão removidos.
- A propriedade cascaded_unionemdjango.contrib.gis.geos.MultiPolygonserão removidos.
- django.utils.functional.allow_lazy()será removido.
- A opção shell --plainserá removido.
- O módulo django.core.urlresolversserá removido.
- O model CommaSeparatedIntegerFieldserá removido. Um campo stub irá permanecer para compatibilidade com migrations passadas.
- O suporte para o método do template Context.has_key()será removido.
- o Suporte aos métodos django.core.files.storage.Storage.accessed_time(),created_time(), emodified_time()serão removidos.
- O suporte para filtros de consulta usando o nome do modelo quando é definido um Meta.default_related_nameserá removido.
- O filtro de consulta __searche o métodoDatabaseOperations.fulltext_search_sql()serão removidos.
- A base para suporte à classes de “managers” personalizados sem um método  _apply_rel_filters()será removido.
- O uso de User.is_authenticated()eUser.is_anonymous()como métodos não será mais suportado.
- O atributo privado virtual_fieldsdoModel._metaserá removido.
- O argumento privado nomeado  virtual_onlynoField.contribute_to_class()e navirtualnoModel._meta.add_field()será removido.
- As “views”  javascript_catalog()ejson_catalog()serão removidas.
- A função django.contrib.gis.utils.precision_wkt()será removida.
- Em uma herança de tabelas múltiplas, a promoção implícita de um campo OneToOneFieldpara umparent_linkserá removida.
- O suporte para Widget._format_value()será removido.
- Os métodos  get_directory_name()eget_filename()doFileFieldserão removidos.
- A função mark_for_escaping()e as classes que ela usa:EscapeData,EscapeBytes,EscapeText,EscapeString, eEscapeUnicodeserão removidas.
- O filtro escapeserá alterado para que use odjango.utils.html.conditional_escape().
- Manager.use_for_related_fieldsserá removido.
- A herança de um Managerseguirá regras de herança MRO e aMeta.manager_inheritance_from_futurepara escolher esse comportamento será removida.
- O suporte para middleware do tipo old-style usando o setting settings.MIDDLEWARE_CLASSESserá removido.
1.10¶
Veja as notas da release do Django 1.8 para mais detalhes sobre essas mudanças.
- Suporte para a possibilidade de chamar o SQLCompilerdiretamente como um alias para o seu métodoquote_name_unless_aliasserá removido.
- As tags de template cycleandfirstofserão removidas da biblioteca de tags de templatefuture.
- django.conf.urls.patterns()será removido.
- Suporte para o argumento prefixdodjango.conf.urls.i18n.i18n_patterns()será removido.
- SimpleTestCase.urlsserá removido.
- Usar uma contagem incorreta de valores despacotados em uma tag de template forirá lançar uma exceção ao invés de falhar silenciosamente.
- A habilidade de inverter URLs usando a notação de ponto para definir o “caminho” Python será removida.
- A habilidade de usar um caminho Python contendo pontos para os settings LOGIN_URLandLOGIN_REDIRECT_URLserá removida.
- Suporte para o módulo optparseserá descartado para custom management commands (trocado pleo móduloargparse).
- A classe django.core.management.NoArgsCommandserá removida. Use em seu lugar a classeBaseCommandque não recebe argumentos por padrão.
- O módulo django.core.context_processorsserá removido.
- O módulo django.db.models.sql.aggregatesserá removido.
- O módulo django.contrib.gis.db.models.sql.aggregatesserá removido.
- Os métodos e propriedades de django.db.sql.query.Querya seguir serão removidas:- Propriedades: aggregateseaggregate_select
- Métodos: add_aggregate,set_aggregate_mask, eappend_aggregate_mask.
 
- Propriedades: 
- django.template.resolve_variableserá removido.
- As APIs privadas abaixo serão removidas de 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()
 
- O argumento error_messagededjango.forms.RegexFieldserá removido.
- O filtro unordered_listnão irá mais suportar listas do estilo antigo.
- Suporte a argumentos viewno formato string paraurl()será removido.
- O calço de compatibilidade com versões anteriores para renomear django.forms.Form._has_changed()parahas_changed()foi removido.
- O filter de template removetagsserá removido.
- As funções remove_tags()estrip_entities()emdjango.utils.htmlserão removidas.
- O argumento is_admin_siteparadjango.contrib.auth.views.password_reset()será removido.
- django.db.models.field.subclassing.SubfieldBaseserá removido.
- django.utils.checksumsserá removido; suas funcionalidades estão inclusas no- django-localflavor1.1+.
- O atributo original_content_type_idemdjango.contrib.admin.helpers.InlineAdminFormserá removido.
- O calço de compatibilidade com versões anteriores para permitir FormMixin.get_form()ser definido sem valor padrão para o seu argumentoform_classfoi removido.
- As configurações abaixo serão removidas:- ALLOWED_INCLUDE_ROOTS
- TEMPLATE_CONTEXT_PROCESSORS
- TEMPLATE_DEBUG
- TEMPLATE_DIRS
- TEMPLATE_LOADERS
- TEMPLATE_STRING_IF_INVALID
 
- O alias de compatibilidade com versões anteriores django.template.loader.BaseLoaderserá removido.
- Objetos de template do Django retornados por get_template()eselect_template()não irão mais aceitar umContextem seu métodorender().
- APIs de resposta de templates irão reforçar o uso de  dicte objetos de template dependentes de backend ao invés deContexteTemplaterespectivamente.
- O current_appparâmetro para as funções e classes abaixo será removido:- django.shortcuts.render()
- django.template.Context()
- django.template.RequestContext()
- django.template.response.TemplateResponse()
 
- Os parâmetros dictionaryecontext_instancepara as funções abaixo serão removidos- django.shortcuts.render()
- django.shortcuts.render_to_response()
- django.template.loader.render_to_string()
 
- O parâmetro dirspara as funções abaixo será removido:- django.template.loader.get_template()
- django.template.loader.select_template()
- django.shortcuts.render()
- django.shortcuts.render_to_response()
 
- Verificação de sessão será habilitado independentemente de 'django.contrib.auth.middleware.SessionAuthenticationMiddleware'estar ou não dentro deMIDDLEWARE_CLASSES.
- O atributo privado django.db.models.Field.relatedserá removido.
- A opção --listdo comandomigrateserá removido.
- A tag template ssiserá removida.
- Suporte para o operador de comparação =na tag de templateifserá removido.
- O calço de compatibilidade com versões anteriores para permitir Storage.get_available_name()eStorage.save()ser definido sem um argumentomax_lengthserá removido.
- Suporte para a sintaxe legada  %(<foo>)snoModelFormMixin.success_urlserá removido.
- Os métodos do GeoQuerySetde agregaçãocollect(),extent(),extent3d(),make_line(), eunionagg()serão removidos.
- A abilidade para especificar ContentType.nameao criar uma instância será removido.
- Suporte para a assinatura antiga de allow_migrateserá removido. Ele mudou deallow_migrate(self, db, model)paraallow_migrate(self, db, app_label, model_name=None, **hints).
- Suporte para a sintaxe de {% cycle %}que utiliza argumentos separados por vírgulas será removido.
- O aviso que Signeremite quando é fornecido um separador inválido irá se tornar uma exceção.
1.9¶
Veja as notas da release do Django 1.7 para mais detalhes nessas mudanças.
- django.utils.dictconfigserá removido.
- django.utils.importlibserá removido.
- django.utils.tzinfoserá removido.
- django.utils.unittestserá removido.
- O comando syncdbserá removido.
- django.db.models.signals.pre_syncdbe- django.db.models.signals.post_syncdbserão removidos.
- allow_syncdbem roteadores de bancos de dados não irão mais ficar automaticamente- allow_migrate.
- A sincronização automática de apps sem migrações será removida. Migrations se tornará  compulsória para todos os apps a não ser que você passe a opção --run-syncdbpara o comandomigrate.
- Os SQL management commands para apps sem migrações, sql`, sqlall,sqlclear,sqldropindexes, andsqlindexes, será removido.
- Suporte para carregamento automático de fixtures initial_datae dados SQL iniciais serão removidos.
- Todos os modelos precisarão ser definidos dentro de aplicações instaladas ou declarados explicitamente app_label. Além disso, não será possível importá-los antes de suas aplicações serem carregadas. Em particular, não será possível importar modelos dentro do pacote root de suas aplicações.
- O model e form IPAddressFieldserão removidos. Um campo stub irá permanecer para compatibilidade com migrations passadas.
- AppCommand.handle_app()não será mais suportado.
- RequestSitee- get_current_site()não irão mais ser importáveis de- django.contrib.sites.models.
- Suporte a FastCGI pelo comando de administração runfcgiserá removido. Por favor faça deploy do seu projeto usando WSGI.
- django.utils.datastructures.SortedDictserá removido. Utilize- collections.OrderedDictda biblioteca padrão do Python.
- ModelAdmin.declared_fieldsetsserá removido.
- Instâncias de util.pyno código base do Django foram renomeadas parautils.pyem um esforço para unificar todos as referências a util e utils. Os módulos que fornecem compatibilidade com versões anteriores serão removidos.- django.contrib.admin.util
- django.contrib.gis.db.backends.util
- django.db.backends.util
- django.forms.util
 
- ModelAdmin.get_formsetsserá removido.
- O calço de compatibilidade com versões anteriores introduzido para renomear o método BaseMemcachedCache._get_memcache_timeout()paraget_backend_timeout()foi removido.
- As opções``–natural`` e -nparadumpdataserão removidas.
- O argumento use_natural_keysparaserializers.serialize()será removido.
- A API privada django.forms.forms.get_declared_fields()será removida.
- A abilidade de utilizar o SplitDateTimeWidgetcomDateTimeFieldserá removido.
- A propriedade WSGIRequest.REQUESTserá removida.
- A classe django.utils.datastructures.MergeDictserá removida.
- Os códigos de linguagens zh-cnezh-twserão removidos e trocados pelos códigos de linguagemzh-hanse ``zh-hant``respectivamente.
- O “internal” django.utils.functional.memoizeserá removido.
- django.core.cache.get_cacheserá removido. Ao invés dele, adicione as entradas convenientes a- CACHESe use- django.core.cache.caches.
- django.db.models.loadingserá removido.
- Passar argumentos que possam ser invocados para querysets não será mais possível.
- BaseCommand.requires_model_validation``será removido em favor de ``requires_system_checks. Admin validators serão trocados por admin checks.
- Os atributos ModelAdmin.validator_classedefault_validator_classserão removidos.
- ModelAdmin.validate()será removido.
- django.db.backends.DatabaseValidation.validate_fieldserá removido em favor do método- check_field.
- O comando de administração validateserá removido.
- django.utils.module_loading.import_by_pathserá removido em favor de``django.utils.module_loading.import_string``.
- As tags de template `ssi` e urlserão removidas da biblioteca de tags de templatefuture(usado durante o período de depreciação 1.3/1.4).
- django.utils.text.javascript_quoteserá removido.
- A configuração de bancos de dados de teste com entradas independentes nos settings dos bancos de dados, prefixado com TEST_, não será mais suportado.
- A opção cache_choices para ModelChoiceFieldeModelMultipleChoiceFieldserá removido.
- O valor padrão do RedirectView.permanentatributo irá mudar deTrueparaFalse.
- django.contrib.sitemaps.FlatPageSitemapserá removido em favor de- django.contrib.flatpages.sitemaps.FlatPageSitemap.
- A API privada django.test.utils.TestTemplateLoaderserá removida.
- O módulo django.contrib.contenttypes.genericserá removido.
- As APIs privadas django.db.models.sql.where.WhereNode.make_atom()edjango.db.models.sql.where.Constraintserão removidos.
1.8¶
Veja as notas de release Django 1.6 para mais detalhes sobre essas mudanças.
- django.contrib.commentsserá removido.
- As APIs de gerenciamento de transações seguintes serão removidas:- TransactionMiddleware,
- Os decorators e context managers autocommit,commit_on_success, ecommit_manually, definidos emdjango.db.transaction,
- As funções commit_unless_managederollback_unless_managed, também definidos emdjango.db.transaction,
- O setting TRANSACTIONS_MANAGED.
 
- As tags de template cycleefirstofirão auto-escapar seus argumentos. Em 1.6 e 1.7, esse comportamento é providenciado pela versão dessas tags da biblioteca de tags de templatefuture.
- O setting SEND_BROKEN_LINK_EMAILSserá removido. Para substitui-lo, adicione odjango.middleware.common.BrokenLinkEmailsMiddlewaremiddlewareMIDDLEWARE_CLASSESno seu setting.
- django.middleware.doc.XViewMiddlewareserá removido. Ao invés dele, use- django.contrib.admindocs.middleware.XViewMiddleware.
- Model._meta.module_namefoi renomeado para- model_name.
- Removido o calço de compatibilidade com versões anteriores introduzido para renomear get_query_sete métodos do queryset similares. Isso afeta as seguintes classes:BaseModelAdmin,ChangeList,BaseCommentNode,GenericForeignKey,Manager,SingleRelatedObjectDescriptoreReverseSingleRelatedObjectDescriptor.
- Remove o calço de compatibilidade com versões anteriores introduzido para renomear os atributos ChangeList.root_query_seteChangeList.query_set.
- django.views.defaults.shortcutserá removido, como parte do objetivo de remover todas as referências a- django.contribdo núcleo do banco de dados do Django. Ao invés dele use- django.contrib.contenttypes.views.shortcut.- django.conf.urls.shortcuttambém será removido.
- Suporte ao módulo Python Imaging Library (PIL) será removido, já que ele não aparece estar ativo e mantido e não funciona no Python 3.
- As APIs privadas seguintes serão removidas:- 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.RadioInputserá removido em favor de- django.forms.widgets.RadioChoiceInput.
- O módulo django.test.simplee a classedjango.test.simple.DjangoTestSuiteRunnerserá removida. Utilize no lugar deledjango.test.runner.DiscoverRunner.
- O módulo django.test._doctestserá removido. Ao invés disso use o módulo doctest module da biblioteca padrão do Python.
- O setting CACHE_MIDDLEWARE_ANONYMOUS_ONLYserá removido.
- Utilização do Hold down “Control”, or “Command” em um Mac, para selecionar mais de um. string para sobreescrever ou apensar para o help_textprovidenciado pelos usuários em forms para campos de um model ManyToMany não serão mais realizados pelo Django seja na camada do model ou na camada de forms.
- A permissão  Model._meta.get_(add|change|delete)_permissionserá removida.
- A chave de sessão django_languagenão será mais lida para compatibilidade com versões anteriores.
- Geographic Sitemaps será removido (django.contrib.gis.sitemaps.views.indexedjango.contrib.gis.sitemaps.views.sitemap).
- django.utils.html.fix_ampersands, o filtro de template- fix_ampersandse- django.utils.html.clean_htmlserão removidos seguindo uma depreciação acelerada.
1.7¶
Veja as notas da release do Django 1.5 para mais detalhes sobre essas mudanças.
- O módulo django.utils.simplejsonserá removido. A biblioteca padrão provêjsonque deve ser usado em seu lugar.
- A função django.utils.itercompat.productserá removida. A versão embutida no Python deve ser usada em seu lugar.
- Auto-correção dos settings INSTALLED_APPS e TEMPLATE_DIRS quando eles são especificados como uma string ao invés de uma tupla será removido e irá lançar uma exceção.
- O argumento mimetypepara métodos__init__deHttpResponse,SimpleTemplateResponse, eTemplateResponse, será removido.content_typedeve ser usado em seu lugar. Isso também se aplica ao atalhorender_to_response()e as views de sitemap,index()esitemap().
- Quando HttpResponseé instanciado com um iterator, ou quandocontenté setado para um iterator, esse iterator será imediatamente consumido.
- O setting AUTH_PROFILE_MODULE, e o métodoget_profile()do model User serão removidos.
- O comando de gerenciamento cleanupserá removido. Ele foi trocado porclearsessions.
- O script daily_cleanup.pyserá removido.
- O argumento chave depthserá removido deselect_related().
- As funções não documentadas get_warnings_state()/restore_warnings_state()dodjango.test.utilse os métodossave_warnings_state()/restore_warnings_state()django.test.*TestCase foram depreciados. Use owarnings.catch_warningscontext manager disponível a partir do Python 2.6 em seu lugar.
- O método não documentado check_for_test_cookienaAuthenticationFormserá removido seguindo uma depreciação acelerada. Usuários fazendo subclasses desse form devem remover as chamadas para esse método, e ao invés disso garantir que suas views relacionadas a autenticação são protegidas de CSRF, o que garante que os cookies estão habilitados.
- A versão de django.contrib.auth.views.password_reset_confirm()que suporta IDs de usuários codificado com base36 (django.contrib.auth.views.password_reset_confirm_uidb36) será removida. Se o seu site está rodando Django 1.6 por mais dePASSWORD_RESET_TIMEOUT_DAYS, essa mudança não terá efeito. Caso contrário, qualquer link de reset de senha gerado antes de você atualizar para o Django 1.7 não irão funcionar após a atualização.
- O mix-in django.utils.encoding.StrAndUnicode` será removido. Em seu lugar defina um método ``__str__e aplique o decoratorpython_2_unicode_compatible().
1.6¶
Veja as notas da release do Django 1.4 para mais detalhes sobre essas mudanças.
- django.contrib.databrowseserá removido.
- django.contrib.localflavorserá removido seguindo uma depreciação acelerada.
- django.contrib.markupserá removido seguindo uma depreciação acelerada.
- Os módulos de compatibilidade django.utils.copycompatedjango.utils.hashcompatassim como as funçõesdjango.utils.itercompat.alledjango.utils.itercompat.anyserão removidos. Em seu lugar utiize as versões embutidas no Python.
- Os decorators csrf_response_exemptecsrf_view_exemptserão removidos. Desde a versão 1.4csrf_response_exempttem sido um no-op (ele retorna a mesma função), ecsrf_view_exempttem sido um sinônimo paradjango.views.decorators.csrf.csrf_exempt, que deve ser usado para trocá-lo.
- O backend django.core.cache.backends.memcached.CacheClassfoi dividido em dois no Django 1.3 para introduzir o suporte a PyLibMC. O históricoCacheClassserá removido em favor dedjango.core.cache.backends.memcached.MemcachedCache.
- Os objetos django.contrib.localflavor.ukprefixados com UK só serão acessíveis através de seus nomes prefixados com GB (GB é o código ISO 3166 corretp para o Reino Unido).
- Os settings  IGNORABLE_404_STARTSeIGNORABLE_404_ENDSforam substituídos porIGNORABLE_404_URLSna release 1.4. Eles serão removidos.
- O form wizard foi refatorado para usar views baseads em classes com backends plugáveis na 1.4. A implementação prévia será removida.
- Formas legadas de chamar cache_page()será removida.
- O calço de compatibilidade para adicionar automaticamente um filtro de debug-false para o logging handler 'mail_admins'será removido. O settingLOGGINGdeve incluir esse filtro explicitamente se ele for desejado.
- As funções embutidas de truncamento django.utils.text.truncate_words()edjango.utils.text.truncate_html_words()serão removidas em favor da classedjango.utils.text.Truncator.
- A classe django.contrib.gis.geoip.GeoIPfoi movida paradjango.contrib.gis.geoipna 1.4 – o atalho emdjango.contrib.gis.utilsserá removido.
- django.conf.urls.defaultsserá removida. A função- include(),- patterns()e- url()além de- handler404,- handler500, agora estão disponíveis através de- django.conf.urls.
- As funções setup_environ()eexecute_manager()serão removidas dodjango.core.management. Isso também significa que o velho (pre-1.4) estilo do arquivomanage.pynão irá mais funcionar.
- Ativar as flags is_safeeneeds_autoescapecomo atributos de funções de filtro de template não será mais suportado.
- O atributo HttpRequest.raw_post_datafoi renomeado paraHttpRequest.bodyna 1.4. A compatibilidade com versões anteriores será removida –HttpRequest.raw_post_datanão irá mais funcionar.
- O valor para o parâmetro post_url_continueemModelAdmin.response_add()terá que serNone(para redirecionar para novos objetos edit page criados) ou uma url pré-formatada. Formatos de strings, tais como o antigo padrão'../%s/', não serão mais aceitos.
1.5¶
Veja as notas de release do Django 1.3 para mais detalhes sobre essas mudanças.
- Começar o Django sem um SECRET_KEYirá resultar em uma exceção ao invés deDeprecationWarning. (Isso foi acelerado do caminho usual de depreciação; veja as notas de release do Django 1.4.)
- O request handler mod_pythonserá removido. O handlermod_wsgideve ser usado em seu lugar.
- O atributo de templateem objetosdjango.test.client.Responseretornados por test client será removido. O atributotemplatesdeve ser usado em seu lugar.
- O django.test.simple.DjangoTestRunnerserá removido. Ao invés dele use uma classe nativa de teste unitário. As funcionalidades dedjango.test.simple.DjangoTestRunner(incluindo fail-fast e terminação de test com Ctrl-C) podem ser fornecidas atualemente pelaTextTestRunner.
- A função não documentada django.contrib.formtools.utils.security_hashserá removida. Ao invés dela usedjango.contrib.formtools.utils.form_hmac.
- Os módulos baseados em funções de view genéricas serão removidos em favor de seus equivalentes baseados em classes, descritos aqui.
- O``django.core.servers.basehttp.AdminMediaHandler`` será removido. Em seu lugar use django.contrib.staticfiles.handlers.StaticFilesHandler.
- As bibliotecas de tags de template adminmediae a tag de template{% admin_media_prefix %}serão removidas em favor da manipulação genérica de arquivos estáticos. (Isso é mais rápido do que o caminho de depreciação usual; veja as notas de release do Django 1.4.)
- As tags de template urlessiserão modificadas de modo que o primeiro argumento para cada tag é uma variável de template, não uma string implícita. Na 1.4, esse comportamento era fornecido por uma versão da tag dentro da biblioteca de tagsfuture.
- Os comandos de administração resetesqlresetserão removidos.
- Backends de autenticação terão que suportar um usuário inativo sendo passado para todos os métodos que lidem com permissões. O atributo supports_inactive_usernão será mais verificado e pode ser removido de backends customizados.
- O transform()irá lançarGEOSExceptionquando chamado em uma geometria sem valor SRID.
- django.http.CompatCookieserá removido em favor de- django.http.SimpleCookie.
- django.core.context_processors.PermWrappere- django.core.context_processors.PermLookupDictserão removidos em favor dos correspondentes- django.contrib.auth.context_processors.PermWrappere- django.contrib.auth.context_processors.PermLookupDict, respectivamente.
- Os settings MEDIA_URLouSTATIC_URLterão que terminar com um slash para garantir que existe uma forma consistente de combinar caminhos nos templates.
- django.db.models.fields.URLField.verify_existsserá removido. A funcionalidade foi depreciada em 1.3.1 devido a problemas de segurança e performance intratáveis e seguirá um tempo de depreciação ligeiramente acelerado.
- Traduções localizadas sob o então chamado project path serão ignoradas durante o processo de construção da tradução executado em runtime. O setting  LOCALE_PATHSpode ser usado para a mesma tarefa quando incluido o caminho do sistema de arquivos para um diretório delocalecontendo traduções não específicas de apps em seu valor.
- O app contrib Markup não irá mais suportar versões da biblioteca de Markdown do Python anteriores a 2.1. Uma linha de tempo acelerada será usada já que isso era uma depreciação relacionada a segurança.
- O setting CACHE_BACKENDserá removido. O backend (ou os backends) de cache deve ser especificado no settingCACHES.
1.4¶
Veja as notas de release do Django 1.2 para mais detalhes sobre essas mudanças.
- CsrfResponseMiddlewaree- CsrfMiddlewareserão removidos. Use a tag de template- {% csrf_token %}``dentro dos forms para habilitar a proteção CSRF. ``CsrfViewMiddlewarepermanece e é habilitada por padrão.
- Os imports antigos da funcionalidade CSRF (django.contrib.csrf.*), que foi movido para o core em 1.2, será removido.
- O módulo django.contrib.gis.db.backendserá removido em favor dos backends específicos.
- SMTPConnectionserá removido em favor de uma API de backend genérica.
- As funções de geração SQL many to many nos backends de banco de dados serão removidos.
- A habilidade de usar a família de settings top-level DATABASE_*para definir conexões de banco de dados será removida.
- A habilidade para usar notações curtas para especificar o backend do banco de dados (ex sqlite3ao invés dedjango.db.backends.sqlite3) será removido.
- Os métodos get_db_prep_save,get_db_prep_valueeget_db_prep_lookupterão que suportar múltiplos bancos de dados.
- O model Message(emdjango.contrib.auth), o seu manager no modelUser(user.message_set), e os métodos associados (user.message_set.create()euser.get_and_delete_messages()), serão removidos. O framework messages deve ser usado em seu lugar. A variávelmessagesrelacionada e retornada pelo processador de contexto de autenticação também será removida. Note que isso significa que a aplicação admin irá depender do processador de contexto de mensagens.
- Backends de autenticação terão que suportar o parâmetro objpara verificação de permissões. O atributosupports_object_permissionsnão irá mais ser checado e pode ser removido dos backends customizados.
- Backends de autenticação terá que suportar a classe AnonymousUsersendo passada para todos os métodos que lidam com permissão. A variávelsupports_anonymous_usernão irá mais ser checada e pode ser removida dos backends customizados.
- A habilidade para especificar um template loader invocável ao invés de uma classe Loaderirá ser removido, assim como as funçõesload_template_sourceque estão incluídas com os template loaders embutidos para compatibilidade com versões anteriores.
- django.utils.translation.get_date_formats()e- django.utils.translation.get_partial_date_formats(). Essas funções serão removidas; use o locale-aware- django.utils.formats.get_format()para obter os formatos apropriados.
- Em django.forms.fields, as contantes:DEFAULT_DATE_INPUT_FORMATS,DEFAULT_TIME_INPUT_FORMATSeDEFAULT_DATETIME_INPUT_FORMATSserão removidas. Utilizedjango.utils.formats.get_format()para obter os formatos apropriados.
- A habilidade de usar um executor de testes baseado em função será removido, assim como o executor de teste django.test.simple.run_tests().
- A view views.feed()e a classefeeds.Feedemdjango.contrib.syndication``serão removidos. A view baseada em classe ``views.Feeddeve ser usada em seu lugar.
- django.core.context_processors.auth. Essa release irá remover o método antigo em favor do novo método em- django.contrib.auth.context_processors.auth.
- O backend do banco de dados postgresqlserá removido, utilize o backendpostgresql_psycopg2em seu lugar.
- A linguagem de código noserá removida e foi trocada pela linguagem de códigonb.
- Backends de autenticação terão que definir o atributo booleano supports_inactive_useraté a versão 1.5 onde se assumirá que todos os backends irão tratar usuários inativos.
- django.db.models.fields.XMLFieldserá removido. Isso foi depreciado como parte da release 1.3. Um cronograma acelerado de depreciação foi usado porque o campo não preenche nenhum outro propósito além de um simples- TextFielddesde a remoção de- oldforms. Todos os usos de- XMLFieldpodem ser substituídos com- TextField.
- O parâmetro não documentado mixinpara o métodoopen()dedjango.core.files.storage.Storage(e subclasses) serão removidas.
1.3¶
Veja as notas da release do Django 1.1 para mais detalhes sobre essas mudanças.
- AdminSite.root(). Esse método de ligação de URLs admin será removido em favor da inclusão de- admin.site.urls.
- Backends de autenticação precisam definir os atributos booleanos supports_object_permissionsesupports_anonymous_useraté a versão 1.4, na qual será assumido que todos os backends suportam essas opções.
 
          