Calendrier d’obsolescence de Django¶
Ce document présente les échéances où divers aspects de Django seront supprimés ou modifiés de manière non rétrocompatible, après une période d’obsolescence, en accord avec la politique d’obsolescence. Plus de détails sur ces différents éléments sont souvent disponibles dans les notes de publication les précédant de deux versions.
4.0¶
Consultez les notes de publication de Django 3.0 pour plus de détails sur ces changements.
django.utils.http.urlquote(),urlquote_plus(),urlunquote()eturlunquote_plus()seront supprimées.django.utils.encoding.force_text()etsmart_text()seront supprimées.django.utils.translation.ugettext(),ugettext_lazy(),ugettext_noop(),ungettext()etungettext_lazy()seront supprimées.django.views.i18n.set_language()ne définira plus la langue de l’utilisateur dansrequest.session(clédjango.utils.translation.LANGUAGE_SESSION_KEY).alias=Nonesera obligatoire dans la signature des sous-classes dedjango.db.models.Expression.get_group_by_cols().django.utils.text.unescape_entities()sera supprimée.django.utils.http.is_safe_url()sera supprimée.
Consultez les notes de publication de Django 3.1 pour plus de détails sur ces changements.
- Le réglage
PASSWORD_RESET_TIMEOUT_DAYSsera supprimé. - L’utilisation non documentée de l’expression de requête
isnullavec des valeurs non booléennes dans la partie droite ne sera plus autorisée. - La classe d’exception
django.db.models.query_utils.InvalidQuerysera supprimée. - Le point d’entrée
django-admin.pysera supprimé. - La méthode
HttpRequest.is_ajax()sera supprimée. - La prise en charge du format de codage des cookies d’avant Django 3.1 utilisé par
django.contrib.messages.storage.cookie.CookieStoragesera supprimée. - La prise en charge des jetons de réinitialisation des mots de passe d’avant Django 3.1 dans le site d’administration (qui utilise l’algorithme de hachage SHA-1) sera supprimée.
- La prise en charge du format de codage des sessions d’avant Django 3.1 sera supprimée.
- La prise en charge des signatures
django.core.signing.Signerd’avant Django 3.1 (utilisant l’algorithme de hachage SHA-1) sera supprimée. - La prise en charge des signatures
django.core.signing.dumps()d’avant Django 3.1 (utilisant l’algorithme de hachage SHA-1) sera supprimée dansdjango.core.signing.loads(). - La prise en charge des sessions d’utilisateurs d’avant Django 3.1 (utilisant l’algorithme de hachage SHA-1) sera supprimée.
- The
get_requestargument fordjango.utils.deprecation.MiddlewareMixin.__init__()will be required and won’t acceptNone. - The
providing_argsargument fordjango.dispatch.Signalwill be removed. - Le paramètre
lengthdedjango.utils.crypto.get_random_string()sera obligatoire. - Le message
listdeModelMultipleChoiceFieldsera supprimé. - Support for passing raw column aliases to
QuerySet.order_by()will be removed. - The model
NullBooleanFieldwill be removed. A stub field will remain for compatibility with historical migrations. django.conf.urls.url()sera supprimée.- The model
django.contrib.postgres.fields.JSONFieldwill be removed. A stub field will remain for compatibility with historical migrations. django.contrib.postgres.forms.JSONField,django.contrib.postgres.fields.jsonb.KeyTransform, anddjango.contrib.postgres.fields.jsonb.KeyTextTransformwill be removed.- The
{% ifequal %}and{% ifnotequal %}template tags will be removed. - The
DEFAULT_HASHING_ALGORITHMtransitional setting will be removed.
3.1¶
Consultez les notes de publication de Django 2.2 pour plus de détails sur ces changements.
django.utils.timezone.FixedOffsetsera supprimée.django.core.paginator.QuerySetPaginatorsera supprimée.- L’attribut
Meta.orderingdes modèles n’affectera plus les requêtesGROUP BY. django.contrib.postgres.fields.FloatRangeFieldetdjango.contrib.postgres.forms.FloatRangeFieldseront supprimés.- Le réglage
FILE_CHARSETsera supprimé. django.contrib.staticfiles.storage.CachedStaticFilesStoragesera supprimée.RemoteUserBackend.configure_user()exigerarequestcomme premier paramètre positionnel.- La prise en charge de
SimpleTestCase.allow_database_querieset deTransactionTestCase.multi_dbsera supprimée.
3.0¶
Consultez les notes de publication de Django 2.0 pour plus de détails sur ces changements.
- Le module
django.db.backends.postgresql_psycopg2sera supprimé. django.shortcuts.render_to_response()sera supprimée.- Le réglage
DEFAULT_CONTENT_TYPEsera supprimé. HttpRequest.xreadlines()sera supprimée.- La prise en charge du paramètre
contextdeField.from_db_value()et deExpression.convert_value()sera supprimée. - Le paramètre nommé
field_namedeQuerySet.earliest()et delatest()sera supprimé.
Consultez les notes de publication de Django 2.1 pour plus de détails sur ces changements.
django.contrib.gis.db.models.functions.ForceRHRsera supprimée.django.utils.http.cookie_date()sera supprimée.- Les bibliothèques de balises de gabarits
staticfilesetadmin_staticseront supprimées. django.contrib.staticfiles.templatetags.static()sera supprimée.- La couche de compatibilité pour permettre à
InlineModelAdmin.has_add_permission()d’être définie sans paramètreobjsera supprimée.
2.1¶
Consultez les notes de publication de Django 1.11 pour plus de détails sur ces changements.
contrib.auth.views.login(),logout(),password_change(),password_change_done(),password_reset(),password_reset_done(),password_reset_confirm()etpassword_reset_complete()seront supprimées.- Le paramètre
extra_contextdecontrib.auth.views.logout_then_login()sera supprimé. django.test.runner.setup_databases()sera supprimée.django.utils.translation.string_concat()sera supprimée.django.core.cache.backends.memcached.PyLibMCCachene prendra plus en charge la transmission des réglages de comportementpylibmccomme attributs de premier niveau desOPTIONS.- Le paramètre
hostdedjango.utils.http.is_safe_url()sera supprimé. - Le masquage des exceptions produites lors du rendu de la balise de gabarit
{% include %}sera supprimé. DatabaseIntrospection.get_indexes()sera supprimée.- La méthode
authenticate()des moteurs d’authentification exigerarequestcomme premier paramètre positionnel. - Le décorateur
django.db.models.permalink()sera supprimé. - Le réglage
USE_ETAGSsera supprimé.CommonMiddlewareetdjango.utils.cache.patch_response_headers()ne créeront plus d’ETags. - L’attribut
Model._meta.has_auto_fieldsera supprimé. - La prise en charge de
url()des drapeaux en ligne dans les groupes d’expressions régulières ((?i),(?L),(?m),(?s), and(?u)) sera supprimée. - La prise en charge des méthodes
Widget.render()sans le paramètrerenderersera supprimée.
2.0¶
Consultez les notes de publication de Django 1.9 pour plus de détails sur ces changements.
- Le paramètre
weakdedjango.dispatch.signals.Signal.disconnect()sera supprimé. django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()sera supprimée.- Le paquet
django.forms.extrassera supprimé. - L’utilitaire
assignment_tagsera supprimé. - Le paramètre
hostdeassertsRedirectssera supprimé. La couche de compatibilité qui permet de considérer les URL absolues égales aux URL relatives lorsque le chemin est identique sera également supprimée. Field.relsera supprimé.- L’attribut
Field.remote_field.tosera supprimé. - Le paramètre
on_deletedeForeignKeyetOneToOneFielddeviendra obligatoire. django.db.models.fields.add_lazy_relation()sera supprimée.- Lorsque la prise en charge des fuseaux horaires est active, les moteurs de base de données qui ne prennent pas en charge les fuseaux horaires ne vont plus convertir les dates/heures avec fuseau en valeurs UTC naïves lorsque de telles valeurs sont transmises en paramètre à des requêtes SQL exécutées en dehors de l’ORM, par exemple avec
cursor.execute(). - Le décorateur
django.contrib.auth.tests.utils.skipIfCustomUser()sera supprimé. - Les classes
GeoManageretGeoQuerySetseront supprimées. - Le module
django.contrib.gis.geoipsera supprimé. - Le contrôle
supports_recursionpour les chargeurs de gabarit sera supprimé 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()
- Les méthodes de chargeur de gabarit
load_template()etload_template_sources()seront supprimées. - Le paramètre
template_dirsdes chargeurs de gabarit sera supprimé de :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()
- La méthode
django.template.loaders.base.Loader.__call__()sera supprimée. - La prise en charge des vues d’erreur personnalisées avec un seul paramètre positionnel sera supprimée.
- L’attribut
mime_typededjango.utils.feedgenerator.Atom1Feedet dedjango.utils.feedgenerator.RssFeedsera supprimé en faveur decontent_type. - Le paramètre
app_namededjango.conf.urls.include()sera supprimé. - Support for passing a 3-tuple as the first argument to
include()will be removed. - Support for setting a URL instance namespace without an application namespace will be removed.
Field._get_val_from_obj()will be removed in favor ofField.value_from_object().django.template.loaders.eggs.Loadersera supprimée.- Le paramètre
current_appdecontrib.authsera supprimé. - The
callable_objkeyword argument toSimpleTestCase.assertRaisesMessage()will be removed. - La prise en charge de l’attribut
allow_tagsdes méthodesModelAdminsera supprimée. - Le paramètre nommé
enclosuredeSyndicationFeed.add_item()sera supprimé. - The
django.template.loader.LoaderOriginanddjango.template.base.StringOriginaliases fordjango.template.base.Originwill be removed.
Consultez les notes de publication de Django 1.10 pour plus de détails sur ces changements.
- L’option
makemigrations --exitsera supprimée. - Support for direct assignment to a reverse foreign key or many-to-many relation will be removed.
- The
get_srid()andset_srid()methods ofdjango.contrib.gis.geos.GEOSGeometrywill be removed. - Les méthodes
get_x(),set_x(),get_y(),set_y(),get_z()etset_z()dedjango.contrib.gis.geos.Pointseront supprimées. - Les méthodes
get_coords()etset_coords()dedjango.contrib.gis.geos.Pointseront supprimées. - La propriété
cascaded_uniondedjango.contrib.gis.geos.MultiPolygonsera supprimée. django.utils.functional.allow_lazy()sera supprimée.- L’option
shell --plainsera supprimée. - Le module
django.core.urlresolverssera supprimé. - The model
CommaSeparatedIntegerFieldwill be removed. A stub field will remain for compatibility with historical migrations. - Support for the template
Context.has_key()method will be removed. - Support for the
django.core.files.storage.Storage.accessed_time(),created_time(), andmodified_time()methods will be removed. - Support for query lookups using the model name when
Meta.default_related_nameis set will be removed. - The
__searchquery lookup and theDatabaseOperations.fulltext_search_sql()method will be removed. - The shim for supporting custom related manager classes without a
_apply_rel_filters()method will be removed. - Using
User.is_authenticated()andUser.is_anonymous()as methods will no longer be supported. - The private attribute
virtual_fieldsofModel._metawill be removed. - The private keyword arguments
virtual_onlyinField.contribute_to_class()andvirtualinModel._meta.add_field()will be removed. - The
javascript_catalog()andjson_catalog()views will be removed. - The
django.contrib.gis.utils.precision_wkt()function will be removed. - In multi-table inheritance, implicit promotion of a
OneToOneFieldto aparent_linkwill be removed. - Support for
Widget._format_value()will be removed. FileFieldmethodsget_directory_name()andget_filename()will be removed.- La fonction
mark_for_escaping()et les classes qu’elle utilise :EscapeData,EscapeBytes,EscapeText,EscapeStringetEscapeUnicodeseront supprimées. - Le filtre
escapesera modifié pour utiliserdjango.utils.html.conditional_escape(). Manager.use_for_related_fieldssera supprimé.- Model
Managerinheritance will follow MRO inheritance rules and theMeta.manager_inheritance_from_futureto opt-in to this behavior will be removed. - La prise en charge de l’ancien style d’intergiciel utilisant
settings.MIDDLEWARE_CLASSESsera supprimée.
1.10¶
Consultez les notes de publication de Django 1.8 pour plus de détails sur ces changements.
- Support for calling a
SQLCompilerdirectly as an alias for calling itsquote_name_unless_aliasmethod will be removed. cycleandfirstoftemplate tags will be removed from thefuturetemplate tag library (used during the 1.6/1.7 deprecation period).django.conf.urls.patterns()sera supprimée.- Support for the
prefixargument todjango.conf.urls.i18n.i18n_patterns()will be removed. SimpleTestCase.urlssera supprimé.- Using an incorrect count of unpacked values in the
fortemplate tag will raise an exception rather than fail silently. - The ability to reverse URLs using a dotted Python path will be removed.
- The ability to use a dotted Python path for the
LOGIN_URLandLOGIN_REDIRECT_URLsettings will be removed. - Support for
optparsewill be dropped for custom management commands (replaced byargparse). - The class
django.core.management.NoArgsCommandwill be removed. UseBaseCommandinstead, which takes no arguments by default. - Le module
django.core.context_processorssera supprimé. - Le module
djangodb.models.sql.aggregatessera supprimé. - Le module
django.contrib.gis.db.models.sql.aggregatessera supprimé. - Les méthodes et propriétés suivantes de
django.db.sql.query.Queryseront supprimées :- Propriétés :
aggregatesetaggregate_select - Méthodes :
add_aggregate,set_aggregate_masketappend_aggregate_mask.
- Propriétés :
django.template.resolve_variablesera supprimée.- Les API privées suivantes seront supprimées 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()
- Le paramètre
error_messagededjango.forms.RegexFieldsera supprimé. - Le filtre
unordered_listne prendra plus en charge les listes de l’ancien style. - La prise en charge des paramètres de
viewsous forme de texte dansurl()sera supprimée. - La couche de rétrocompatibilité pour renommer
django.forms.Form._has_changed()enhas_changed()sera supprimée. - Le filtre de gabarit
removetagssera supprimé. - Les fonctions
remove_tags()etstrip_entities()dedjango.utils.htmlseront supprimées. - Le paramètre
is_admin_sitededjango.contrib.auth.views.password_reset()sera supprimé. django.db.models.field.subclassing.SubfieldBasesera supprimée.django.utils.checksumssera supprimée ; cette fonctionnalité est incluse dansdjango-localflavor1.1+.- L’attribut
original_content_type_iddedjango.contrib.admin.helpers.InlineAdminFormsera supprimé. - La couche de compatibilité pour permettre à
FormMixin.get_form()d’être définie sans valeur par défaut pour son paramètreform_classsera supprimée. - Les réglages suivants seront supprimés :
ALLOWED_INCLUDE_ROOTSTEMPLATE_CONTEXT_PROCESSORSTEMPLATE_DEBUGTEMPLATE_DIRSTEMPLATE_LOADERSTEMPLATE_STRING_IF_INVALID
- L’alias de rétrocompatibilité
django.template.loader.BaseLoadersera supprimé. - Les objets de gabarit Django renvoyés par
get_template()etselect_template()n’accepteront plus deContextdans leur méthoderender(). - Les API de réponse de gabarit forceront l’usage de
dictet d’objets de gabarit dépendants du moteur au lieu de respectivementContextet deTemplate. - Le paramètre
current_appsera supprimé des fonction et classes suivantes :django.shortcuts.render()django.template.Context()django.template.RequestContext()django.template.response.TemplateResponse()
- Les paramètres
dictionaryetcontext_instanceseront supprimés des fonctions suivantes :django.shortcuts.render()django.shortcuts.render_to_response()django.template.loader.render_to_string()
- Le paramètre
dirssera supprimé des fonctions suivantes :django.template.loader.get_template()django.template.loader.select_template()django.shortcuts.render()django.shortcuts.render_to_response()
- La vérification des sessions sera active sans tenir compte de la présence de
'django.contrib.auth.middleware.SessionAuthenticationMiddleware'dansMIDDLEWARE_CLASSES. - L’attribut privé
django.db.models.Field.relatedsera supprimé. - L’option
--listde la commande d’administrationmigratesera supprimée. - La balise de gabarit
ssisera supprimée. - La prise en charge de l’opérateur de comparaison
=sera supprimée dans la balise de gabaritif. - The backwards compatibility shims to allow
Storage.get_available_name()andStorage.save()to be defined without amax_lengthargument will be removed. - Support for the legacy
%(<foo>)ssyntax inModelFormMixin.success_urlwill be removed. - Les méthodes d’agrégation
GeoQuerySetcollect(),extent(),extent3d(),make_line()etunionagg()seront supprimées. - Ability to specify
ContentType.namewhen creating a content type instance will be removed. - Support for the old signature of
allow_migratewill be removed. It changed fromallow_migrate(self, db, model)toallow_migrate(self, db, app_label, model_name=None, **hints). - Support for the syntax of
{% cycle %}that uses comma-separated arguments will be removed. - The warning that
Signerissues when given an invalid separator will become an exception.
1.9¶
Consultez les notes de publication de Django 1.7 pour plus de détails sur ces changements.
django.utils.dictconfigsera supprimé.django.utils.importlibsera supprimé.django.utils.tzinfosera supprimé.django.utils.unittestsera supprimé.- La commande
syncdbsera supprimée. django.db.models.signals.pre_syncdbetdjango.db.models.signals.post_syncdbseront supprimés.allow_syncdbon database routers will no longer automatically becomeallow_migrate.- Automatic syncing of apps without migrations will be removed. Migrations will
become compulsory for all apps unless you pass the
--run-syncdboption tomigrate. - The SQL management commands for apps without migrations,
sql,sqlall,sqlclear,sqldropindexes, andsqlindexes, will be removed. - La prise en charge du chargement automatique des instantanés
initial_dataet des données SQL initiales sera supprimée. - Tous les modèles devront être définis dans une application installée ou déclarer une option
app_labelexplicite. De plus, il ne sera plus possible de les importer avant que leur application soit chargée. En particulier, il ne sera plus possible d’importer des modèles dans le paquet racine de leur application. - Les champ de modèle et de formulaire
IPAddressFieldseront supprimés. Un champ de substitution restera pour des raisons de compatibilité avec l’historique des migrations. AppCommand.handle_app()ne sera plus prise en charge.RequestSiteetget_current_site()ne pourront plus être importés à partir dedjango.contrib.sites.models.- La prise en charge de FastCGI par la commande d’administration
runfcgisera supprimée. Veuillez déployer votre projet avec WSGI. django.utils.datastructures.SortedDictsera supprimé. Utilisez à la placecollections.OrderedDictde la bibliothèque Python standard.ModelAdmin.declared_fieldsetssera supprimé.- Instances of
util.pyin the Django codebase have been renamed toutils.pyin an effort to unify all util and utils references. The modules that provided backwards compatibility will be removed:django.contrib.admin.utildjango.contrib.gis.db.backends.utildjango.db.backends.utildjango.forms.util
ModelAdmin.get_formsetssera supprimé.- The backward compatibility shim introduced to rename the
BaseMemcachedCache._get_memcache_timeout()method toget_backend_timeout()will be removed. - Les options
--naturalet-ndedumpdataseront supprimées. - Le paramètre
use_natural_keysdeserializers.serialize()sera supprimé. - L’API privée
django.forms.forms.get_declared_fields()sera supprimée. - La possibilité d’utiliser un composant
SplitDateTimeWidgetavecDateTimeFieldsera supprimée. - La propriété
WSGIRequest.REQUESTsera supprimée. - La classe
django.utils.datastructures.MergeDictsera supprimée. - The
zh-cnandzh-twlanguage codes will be removed and have been replaced by thezh-hansandzh-hantlanguage code respectively. - La fonction interne
django.utils.functional.memoizesera supprimée. django.core.cache.get_cachesera supprimée. Ajoutez plutôt les lignes adéquates dansCACHESet utilisezdjango.core.cache.caches.django.db.models.loadingsera supprimée.- La transmission de paramètres exécutables aux jeux de requête ne sera plus possible.
BaseCommand.requires_model_validationsera supprimé en faveur derequires_system_checks.- Les attributs
ModelAdmin.validator_classetdefault_validator_classseront supprimés. ModelAdmin.validate()sera supprimée.django.db.backends.DatabaseValidation.validate_fieldwill be removed in favor of thecheck_fieldmethod.- La commande d’administration
validatesera supprimée. django.utils.module_loading.import_by_pathsera supprimé en faveur dedjango.utils.module_loading.import_string.ssiandurltemplate tags will be removed from thefuturetemplate tag library (used during the 1.3/1.4 deprecation period).django.utils.text.javascript_quotesera supprimé.- Database test settings as independent entries in the database settings,
prefixed by
TEST_, will no longer be supported. - The
cache_choicesoption toModelChoiceFieldandModelMultipleChoiceFieldwill be removed. - The default value of the
RedirectView.permanentattribute will change fromTruetoFalse. django.contrib.sitemaps.FlatPageSitemapwill be removed in favor ofdjango.contrib.flatpages.sitemaps.FlatPageSitemap.- L’API privée
django.test.utils.TestTemplateLoadersera supprimée. - Le module
django.contrib.contenttypes.genericsera supprimé. - Les API privées
django.db.models.sql.where.WhereNode.make_atom()etdjango.db.models.sql.where.Constraintseront supprimées.
1.8¶
Consultez les notes de publication de Django 1.6 pour plus de détails sur ces changements.
django.contrib.commentssera supprimé.- Les API de gestion des transactions suivantes seront supprimées :
TransactionMiddleware,- les décorateurs et gestionnaires de contexte
autocommit,commit_on_successetcommit_manually, définis dansdjango.db.transaction, - les fonctions
commit_unless_managedetrollback_unless_managed, aussi définies dansdjango.db.transaction, - le réglage
TRANSACTIONS_MANAGED.
- The
cycleandfirstoftemplate tags will auto-escape their arguments. In 1.6 and 1.7, this behavior is provided by the version of these tags in thefuturetemplate tag library. - The
SEND_BROKEN_LINK_EMAILSsetting will be removed. Add thedjango.middleware.common.BrokenLinkEmailsMiddlewaremiddleware to yourMIDDLEWARE_CLASSESsetting instead. django.middleware.doc.XViewMiddlewaresera supprimé. Utilisezdjango.contrib.admindocs.middleware.XViewMiddlewareà la place.Model._meta.module_namea été renommé enmodel_name.- Remove the backward compatible shims introduced to rename
get_query_setand similar queryset methods. This affects the following classes:BaseModelAdmin,ChangeList,BaseCommentNode,GenericForeignKey,Manager,SingleRelatedObjectDescriptorandReverseSingleRelatedObjectDescriptor. - Remove the backward compatible shims introduced to rename the attributes
ChangeList.root_query_setandChangeList.query_set. django.views.defaults.shortcutwill be removed, as part of the goal of removing alldjango.contribreferences from the core Django codebase. Instead usedjango.contrib.contenttypes.views.shortcut.django.conf.urls.shortcutwill also be removed.- Le module Python Imaging Library (PIL) ne sera plus pris en charge, car il ne semble plus activement maintenu et qu’il ne fonctionne pas avec Python 3.
- Les API privées suivantes seront supprimées :
django.db.backenddjango.db.close_connection()django.db.backends.creation.BaseDatabaseCreation.set_autocommit()django.db.transaction.is_managed()django.db.transaction.managed()
django.forms.widgets.RadioInputsera supprimé en faveur dedjango.forms.widgets.RadioChoiceInput.- Le module
django.test.simpleet la classedjango.test.simple.DjangoTestSuiteRunnerseront supprimés. Utilisezdjango.test.runner.DiscoverRunnerà la place. - Le module
django.test._doctestsera supprimé. Utilisez à la place le module doctest de la bibliothèque Python standard. - Le réglage
CACHE_MIDDLEWARE_ANONYMOUS_ONLYsera supprimé. - Usage of the hard-coded Hold down « Control », or « Command » on a Mac, to select
more than one. string to override or append to user-provided
help_textin forms for ManyToMany model fields will not be performed by Django anymore either at the model or forms layer. - The
Model._meta.get_(add|change|delete)_permissionmethods will be removed. - The session key
django_languagewill no longer be read for backwards compatibility. - Geographic Sitemaps will be removed
(
django.contrib.gis.sitemaps.views.indexanddjango.contrib.gis.sitemaps.views.sitemap). django.utils.html.fix_ampersands, thefix_ampersandstemplate filter anddjango.utils.html.clean_htmlwill be removed following an accelerated deprecation.
1.7¶
See the Django 1.5 release notes for more details on these changes.
- The module
django.utils.simplejsonwill be removed. The standard library providesjsonwhich should be used instead. - The function
django.utils.itercompat.productwill be removed. The Python builtin version should be used instead. - Auto-correction of INSTALLED_APPS and TEMPLATE_DIRS settings when they are specified as a plain string instead of a tuple will be removed and raise an exception.
- The
mimetypeargument to the__init__methods ofHttpResponse,SimpleTemplateResponse, andTemplateResponse, will be removed.content_typeshould be used instead. This also applies to therender_to_response()shortcut and the sitemap views,index()andsitemap(). - When
HttpResponseis instantiated with an iterator, or whencontentis set to an iterator, that iterator will be immediately consumed. - Le réglage
AUTH_PROFILE_MODULEainsi que la méthodeget_profile()du modèleUserseront supprimés. - La commande d’administration
cleanupsera supprimée. Elle est remplacée parclearsessions. - Le script
daily_cleanup.pysera supprimé. - Le paramètre nommé
depthsera supprimé deselect_related(). - The undocumented
get_warnings_state()/restore_warnings_state()functions fromdjango.test.utilsand thesave_warnings_state()/restore_warnings_state()django.test.*TestCase methods are deprecated. Use thewarnings.catch_warningscontext manager available starting with Python 2.6 instead. - The undocumented
check_for_test_cookiemethod inAuthenticationFormwill be removed following an accelerated deprecation. Users subclassing this form should remove calls to this method, and instead ensure that their auth related views are CSRF protected, which ensures that cookies are enabled. - The version of
django.contrib.auth.views.password_reset_confirm()that supports base36 encoded user IDs (django.contrib.auth.views.password_reset_confirm_uidb36) will be removed. If your site has been running Django 1.6 for more thanPASSWORD_RESET_TIMEOUT_DAYS, this change will have no effect. If not, then any password reset links generated before you upgrade to Django 1.7 won’t work after the upgrade. - The
django.utils.encoding.StrAndUnicodemix-in will be removed.
1.6¶
See the Django 1.4 release notes for more details on these changes.
django.contrib.databrowsewill be removed.django.contrib.localflavorwill be removed following an accelerated deprecation.django.contrib.markupwill be removed following an accelerated deprecation.- The compatibility modules
django.utils.copycompatanddjango.utils.hashcompatas well as the functionsdjango.utils.itercompat.allanddjango.utils.itercompat.anywill be removed. The Python builtin versions should be used instead. - The
csrf_response_exemptandcsrf_view_exemptdecorators will be removed. Since 1.4csrf_response_exempthas been a no-op (it returns the same function), andcsrf_view_exempthas been a synonym fordjango.views.decorators.csrf.csrf_exempt, which should be used to replace it. - The
django.core.cache.backends.memcached.CacheClassbackend was split into two in Django 1.3 in order to introduce support for PyLibMC. The historicalCacheClasswill be removed in favor ofdjango.core.cache.backends.memcached.MemcachedCache. - The UK-prefixed objects of
django.contrib.localflavor.ukwill only be accessible through their GB-prefixed names (GB is the correct ISO 3166 code for United Kingdom). - The
IGNORABLE_404_STARTSandIGNORABLE_404_ENDSsettings have been superseded byIGNORABLE_404_URLSin the 1.4 release. They will be removed. - The form wizard has been refactored to use class-based views with pluggable backends in 1.4. The previous implementation will be removed.
- Les anciennes manières d’appeler
cache_page()seront supprimées. - The backward-compatibility shim to automatically add a debug-false
filter to the
'mail_admins'logging handler will be removed. TheLOGGINGsetting should include this filter explicitly if it is desired. - The builtin truncation functions
django.utils.text.truncate_words()anddjango.utils.text.truncate_html_words()will be removed in favor of thedjango.utils.text.Truncatorclass. - The
django.contrib.gis.geoip.GeoIPclass was moved todjango.contrib.gis.geoipin 1.4 – the shortcut indjango.contrib.gis.utilswill be removed. django.conf.urls.defaultswill be removed. The functionsinclude(),patterns(), andurl(), plushandler404andhandler500are now available throughdjango.conf.urls.- The functions
setup_environ()andexecute_manager()will be removed fromdjango.core.management. This also means that the old (pre-1.4) style ofmanage.pyfile will no longer work. - Setting the
is_safeandneeds_autoescapeflags as attributes of template filter functions will no longer be supported. - The attribute
HttpRequest.raw_post_datawas renamed toHttpRequest.bodyin 1.4. The backward compatibility will be removed –HttpRequest.raw_post_datawill no longer work. - The value for the
post_url_continueparameter inModelAdmin.response_add()will have to be eitherNone(to redirect to the newly created object’s edit page) or a pre-formatted url. String formats, such as the previous default'../%s/', will not be accepted any more.
1.5¶
See the Django 1.3 release notes for more details on these changes.
- Starting Django without a
SECRET_KEYwill result in an exception rather than aDeprecationWarning. (This is accelerated from the usual deprecation path; see the Django 1.4 release notes.) - The
mod_pythonrequest handler will be removed. Themod_wsgihandler should be used instead. - The
templateattribute ondjango.test.client.Responseobjects returned by the test client will be removed. Thetemplatesattribute should be used instead. - The
django.test.simple.DjangoTestRunnerwill be removed. Instead use aunittest-native class. The features of thedjango.test.simple.DjangoTestRunner(including fail-fast and Ctrl-C test termination) can be provided byunittest.TextTestRunner. - The undocumented function
django.contrib.formtools.utils.security_hashwill be removed, instead usedjango.contrib.formtools.utils.form_hmac - The function-based generic view modules will be removed in favor of their class-based equivalents, outlined here.
- The
django.core.servers.basehttp.AdminMediaHandlerwill be removed. In its place usedjango.contrib.staticfiles.handlers.StaticFilesHandler. - The template tags library
adminmediaand the template tag{% admin_media_prefix %}will be removed in favor of the generic static files handling. (This is faster than the usual deprecation path; see the Django 1.4 release notes.) - The
urlandssitemplate tags will be modified so that the first argument to each tag is a template variable, not an implied string. In 1.4, this behavior is provided by a version of the tag in thefuturetemplate tag library. - Les commandes d’administration
resetetsqlresetseront supprimées. - Authentication backends will need to support an inactive user
being passed to all methods dealing with permissions.
The
supports_inactive_userattribute will no longer be checked and can be removed from custom backends. transform()will raise aGEOSExceptionwhen called on a geometry with no SRID value.django.http.CompatCookiewill be removed in favor ofdjango.http.SimpleCookie.django.core.context_processors.PermWrapperanddjango.core.context_processors.PermLookupDictwill be removed in favor of the correspondingdjango.contrib.auth.context_processors.PermWrapperanddjango.contrib.auth.context_processors.PermLookupDict, respectively.- The
MEDIA_URLorSTATIC_URLsettings will be required to end with a trailing slash to ensure there is a consistent way to combine paths in templates. django.db.models.fields.URLField.verify_existswill be removed. The feature was deprecated in 1.3.1 due to intractable security and performance issues and will follow a slightly accelerated deprecation timeframe.- Translations located under the so-called project path will be ignored during
the translation building process performed at runtime. The
LOCALE_PATHSsetting can be used for the same task by including the filesystem path to alocaledirectory containing non-app-specific translations in its value. - The Markup contrib app will no longer support versions of Python-Markdown library earlier than 2.1. An accelerated timeline was used as this was a security related deprecation.
- The
CACHE_BACKENDsetting will be removed. The cache backend(s) should be specified in theCACHESsetting.
1.4¶
Consultez les notes de publication de Django 1.2 pour plus de détails sur ces changements.
CsrfResponseMiddlewareandCsrfMiddlewarewill be removed. Use the{% csrf_token %}template tag inside forms to enable CSRF protection.CsrfViewMiddlewareremains and is enabled by default.- Les anciennes importations de fonctionnalité CSRF (
django.contrib.csrf.*), qui sont passées dans le cœur Django dans la version 1.2 seront supprimées. - Le module
django.contrib.gis.db.backendsera supprimé en faveur des moteurs spécifiques. SMTPConnectionsera supprimée en faveur d’une API générique de moteur de courriels.- Les fonctions de génération SQL plusieurs-à-plusieurs des moteurs de base de données seront supprimées.
- La possibilité d’utiliser la famille de réglages de premier niveau
DATABASE_*pour définir les connexions de base de données sera supprimée. - The ability to use shorthand notation to specify a database backend
(i.e.,
sqlite3instead ofdjango.db.backends.sqlite3) will be removed. - The
get_db_prep_save,get_db_prep_valueandget_db_prep_lookupmethods will have to support multiple databases. - The
Messagemodel (indjango.contrib.auth), its related manager in theUsermodel (user.message_set), and the associated methods (user.message_set.create()anduser.get_and_delete_messages()), will be removed. The messages framework should be used instead. The relatedmessagesvariable returned by the auth context processor will also be removed. Note that this means that the admin application will depend on the messages context processor. - Authentication backends will need to support the
objparameter for permission checking. Thesupports_object_permissionsattribute will no longer be checked and can be removed from custom backends. - Authentication backends will need to support the
AnonymousUserclass being passed to all methods dealing with permissions. Thesupports_anonymous_uservariable will no longer be checked and can be removed from custom backends. - The ability to specify a callable template loader rather than a
Loaderclass will be removed, as will theload_template_sourcefunctions that are included with the built in template loaders for backwards compatibility. django.utils.translation.get_date_formats()anddjango.utils.translation.get_partial_date_formats(). These functions will be removed; use the locale-awaredjango.utils.formats.get_format()to get the appropriate formats.- In
django.forms.fields, the constants:DEFAULT_DATE_INPUT_FORMATS,DEFAULT_TIME_INPUT_FORMATSandDEFAULT_DATETIME_INPUT_FORMATSwill be removed. Usedjango.utils.formats.get_format()to get the appropriate formats. - The ability to use a function-based test runner will be removed,
along with the
django.test.simple.run_tests()test runner. - The
views.feed()view andfeeds.Feedclass indjango.contrib.syndicationwill be removed. The class-based viewviews.Feedshould be used instead. django.core.context_processors.auth. This release will remove the old method in favor of the new method indjango.contrib.auth.context_processors.auth.- Le moteur de base de données
postgresqlsera supprimé, utilisez à la place le moteurpostgresql_psycopg2. - Le code de langue
nosera supprimé car il a été remplacé par le code de languenb. - Authentication backends will need to define the boolean attribute
supports_inactive_useruntil version 1.5 when it will be assumed that all backends will handle inactive users. django.db.models.fields.XMLFieldwill be removed. This was deprecated as part of the 1.3 release. An accelerated deprecation schedule has been used because the field hasn’t performed any role beyond that of a simpleTextFieldsince the removal ofoldforms. All uses ofXMLFieldcan be replaced withTextField.- The undocumented
mixinparameter to theopen()method ofdjango.core.files.storage.Storage(and subclasses) will be removed.
1.3¶
Consultez les notes de publication de Django 1.1 pour plus de détails sur ces changements.
AdminSite.root(). Cette méthode de branchement des URL d’administration sera supprimée en faveur de l’inclusion deadmin.site.urls.- Les moteurs d’authentification doivent définir les attributs booléens
supports_object_permissionsetsupports_anonymous_userjusqu’à la version 1.4, après quoi Django supposera que tous les moteurs savent gérer ces options.