{"title":"Calendrier d’obsolescence de Django","version":"5.0","locale":"fr","docname":"internals/deprecation","url":"/fr/5.0/internals/deprecation/","canonical":"https://djangodocs.dev/fr/5.0/internals/deprecation/","summary":"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…","html":"<h1>Calendrier d’obsolescence de Django<a class=\"heading-anchor\" href=\"#django-deprecation-timeline\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>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 <a class=\"reference internal\" href=\"/fr/5.0/internals/release-process/#internal-release-deprecation-policy\"><span class=\"std std-ref\">politique d’obsolescence</span></a>. 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.</p>\n<section id=\"deprecation-removed-in-6-0\">\n<span id=\"id1\"></span><h2>6.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-6-0\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/5.0/#deprecated-features-5-0\"><span class=\"std std-ref\">notes de publication de Django 5.0</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>Les producteurs de formulaires de transition <code class=\"docutils literal notranslate\"><span class=\"pre\">DjangoDivFormRenderer</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">Jinja2DivFormRenderer</span></code> seront supprimés.</p></li>\n<li><p>La prise en charge des arguments positionnels à <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseConstraint</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code> sera obligatoire dans la signature des sous-classes de <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.lookup_allowed()</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.sql.datastructures.Join</span></code> ne fera plus appel à <code class=\"docutils literal notranslate\"><span class=\"pre\">get_joining_columns()</span></code>.</p></li>\n<li><p>La méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">get_joining_columns()</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignObject</span></code> et de <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignObjectRel</span></code> sera supprimée.</p></li>\n<li><p>La méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignObject.get_reverse_joining_columns()</span></code> sera supprimée.</p></li>\n<li><p>Le protocole par défaut de <code class=\"docutils literal notranslate\"><span class=\"pre\">forms.URLField</span></code> passera de <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;http&quot;</span></code> à <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;https&quot;</span></code>.</p></li>\n<li><p>La prise en charge de l’appel à <code class=\"docutils literal notranslate\"><span class=\"pre\">format_html()</span></code> sans transmettre d’arguments, nommés ou pas, sera supprimée.</p></li>\n<li><p>La prise en charge de <code class=\"docutils literal notranslate\"><span class=\"pre\">cx_Oracle</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">BaseDatabaseOperations.field_cast_sql()</span></code> sera supprimée.</p></li>\n<li><p>L’alias <code class=\"docutils literal notranslate\"><span class=\"pre\">ChoicesMeta</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.enums.ChoicesType</span></code> sera supprimé.</p></li>\n<li><p>La méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">Prefetch.get_current_queryset()</span></code> sera supprimée.</p></li>\n<li><p>La méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">get_prefetch_queryset()</span></code> des gestionnaires de liaison et des descripteurs sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_prefetcher()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">prefetch_related_objects()</span></code> ne se rabattront plus vers <code class=\"docutils literal notranslate\"><span class=\"pre\">get_prefetch_queryset()</span></code>.</p></li>\n<li><p>Le réglage temporaire <code class=\"docutils literal notranslate\"><span class=\"pre\">FORMS_URLFIELD_ASSUME_HTTPS</span></code> sera supprimé.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-5-1\">\n<span id=\"id2\"></span><h2>5.1<a class=\"heading-anchor\" href=\"#deprecation-removed-in-5-1\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/4.2/#deprecated-features-4-2\"><span class=\"std std-ref\">notes de publication de Django 4.2</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>La méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseUserManager.make_random_password()</span></code> sera supprimée.</p></li>\n<li><p>L’option de modèle <code class=\"docutils literal notranslate\"><span class=\"pre\">Meta.index_together</span></code> sera supprimée.</p></li>\n<li><p>Le filtre de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">length_is</span></code> sera supprimé.</p></li>\n<li><p>Les classes django.contrib.auth.hashers.SHA1PasswordHasher`, <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.hashers.UnsaltedSHA1PasswordHasher</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.hashers.UnsaltedMD5PasswordHasher</span></code> seront supprimées.</p></li>\n<li><p>Les modèles <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.CICharField</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.CIEmailField</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.CITextField</span></code> seront supprimés. Des champs factices resteront pour assurer la compatibilité avec les migrations historiques.</p></li>\n<li><p>La classe mixin <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.CIText</span></code> sera supprimée.</p></li>\n<li><p>Les attributs <code class=\"docutils literal notranslate\"><span class=\"pre\">map_width</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">map_height</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseGeometryWidget</span></code> seront supprimés.</p></li>\n<li><p>La méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.assertFormsetError()</span></code> sera supprimée.</p></li>\n<li><p>La méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">TransactionTestCase.assertQuerysetEqual()</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge des chaînes littérales encodées en JSON à <code class=\"docutils literal notranslate\"><span class=\"pre\">JSONField</span></code> et aux requêtes et expressions associées sera supprimée.</p></li>\n<li><p>La prise en charge des arguments positionnels à <code class=\"docutils literal notranslate\"><span class=\"pre\">Signer</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">TimestampSigner</span></code> sera supprimée.</p></li>\n<li><p>Les réglages <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_FILE_STORAGE</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">STATICFILES_STORAGE</span></code> seront supprimés.</p></li>\n<li><p>La fonction <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.files.storage.get_storage_class()</span></code> sera supprimée.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-5-0\">\n<span id=\"id3\"></span><h2>5.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-5-0\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/4.0/#deprecated-features-4-0\"><span class=\"std std-ref\">notes de publication de Django 4.0</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>Le réglage de test <code class=\"docutils literal notranslate\"><span class=\"pre\">SERIALIZE</span></code> sera supprimé.</p></li>\n<li><p>Le module non documenté <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.baseconv</span></code> sera supprimé.</p></li>\n<li><p>Le module non documenté <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.datetime_safe</span></code> sera supprimé.</p></li>\n<li><p>La valeur par défaut du réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">USE_TZ</span></code> va changer de <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code> à <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code>.</p></li>\n<li><p>Le protocole par défaut pour les plans de site construits en dehors du contexte de la requête changera de <code class=\"docutils literal notranslate\"><span class=\"pre\">'http'</span></code> à <code class=\"docutils literal notranslate\"><span class=\"pre\">'https'</span></code>.</p></li>\n<li><p>L’argument <code class=\"docutils literal notranslate\"><span class=\"pre\">extra_tests</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">DiscoverRunner.build_suite()</span></code> et de <code class=\"docutils literal notranslate\"><span class=\"pre\">DiscoverRunner.run_tests()</span></code> sera supprimé.</p></li>\n<li><p>Les agrégats <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.aggregates.ArrayAgg</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">JSONBAgg</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">StringAgg</span></code> renvoient <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> lorsqu’il n’y a aucun résultat, au lieu de <code class=\"docutils literal notranslate\"><span class=\"pre\">[]</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">[]</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">''</span></code>, respectivement.</p></li>\n<li><p>Le réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">USE_L10N</span></code> sera supprimé.</p></li>\n<li><p>Le réglage temporaire <code class=\"docutils literal notranslate\"><span class=\"pre\">USE_DEPRECATED_PYTZ</span></code> sera supprimé.</p></li>\n<li><p>La prise en charge des fuseaux horaires <code class=\"docutils literal notranslate\"><span class=\"pre\">pytz</span></code> sera supprimée.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">is_dst</span></code> sera supprimé de :</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet.datetimes()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.timezone.make_aware()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.Trunc()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncSecond()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncMinute()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncHour()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncDay()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncWeek()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncMonth()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncQuarter()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.functions.TruncYear()</span></code></p></li>\n</ul>\n</li>\n<li><p>Les classes <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.admin.GeoModelAdmin</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">OSMGeoAdmin</span></code> seront supprimées.</p></li>\n<li><p>La méthode non documentée <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseForm._html_output()</span></code> sera supprimée.</p></li>\n<li><p>La capacité de renvoyer une chaîne <code class=\"docutils literal notranslate\"><span class=\"pre\">str</span></code> au lieu d’une instance <code class=\"docutils literal notranslate\"><span class=\"pre\">SafeString</span></code>, lors de la production d’un <code class=\"docutils literal notranslate\"><span class=\"pre\">ErrorDict</span></code> ou d’<code class=\"docutils literal notranslate\"><span class=\"pre\">ErrorList</span></code> sera supprimée.</p></li>\n</ul>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/4.1/#deprecated-features-4-1\"><span class=\"std std-ref\">notes de publication de Django 4.1</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>La méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">SitemapIndexItem.__str__()</span></code> sera supprimée.</p></li>\n<li><p>Le réglage temporaire <code class=\"docutils literal notranslate\"><span class=\"pre\">CSRF_COOKIE_MASKED</span></code> sera supprimé.</p></li>\n<li><p>L’argument <code class=\"docutils literal notranslate\"><span class=\"pre\">name</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.functional.cached_property()</span></code> sera supprimé.</p></li>\n<li><p>L’argument <code class=\"docutils literal notranslate\"><span class=\"pre\">opclasses</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.constraints.ExclusionConstraint</span></code> sera supprimé.</p></li>\n<li><p>La capacité non documentée de transmettre <code class=\"docutils literal notranslate\"><span class=\"pre\">errors=None</span></code> à <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.assertFormError()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">assertFormsetError()</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sessions.serializers.PickleSerializer</span></code> sera supprimé.</p></li>\n<li><p>L’utilisation de <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet.iterator()</span></code> sur un jeu de requête qui précharge les objets liés sans fournir l’argument <code class=\"docutils literal notranslate\"><span class=\"pre\">chunk_size</span></code> ne sera plus autorisée.</p></li>\n<li><p>La transmission d’instances de modèles non enregistrées à des filtres de modèles liés ne sera plus autorisée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">created=True</span></code> sera obligatoire dans la signature des sous-classes de <code class=\"docutils literal notranslate\"><span class=\"pre\">RemoteUserBackend.configure_user()</span></code>.</p></li>\n<li><p>La prise en charge de la déconnexion par des requêtes <code class=\"docutils literal notranslate\"><span class=\"pre\">GET</span></code> dans les vues <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.views.LogoutView</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.views.logout_then_login()</span></code> sera supprimée.</p></li>\n<li><p>L’alias <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.timezone.utc</span></code> vers <code class=\"docutils literal notranslate\"><span class=\"pre\">datetime.timezone.utc</span></code> sera supprimé.</p></li>\n<li><p>La transmission d’un objet réponse et d’un nom de formulaire à <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.assertFormError()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">assertFormsetError()</span></code> ne sera plus autorisée.</p></li>\n<li><p>Le composant <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.admin.OpenLayersWidget</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.hashers.CryptPasswordHasher</span></code> sera supprimé.</p></li>\n<li><p>Les gabarits <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;django/forms/default.html&quot;</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">&quot;django/forms/formsets/default.html&quot;</span></code> seront supprimés.</p></li>\n<li><p>La possibilité de passer <code class=\"docutils literal notranslate\"><span class=\"pre\">nulls_first=False</span></code> ou <code class=\"docutils literal notranslate\"><span class=\"pre\">nulls_last=False</span></code> aux méthodes <code class=\"docutils literal notranslate\"><span class=\"pre\">Expression.asc()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">Expression.desc()</span></code> et à l’expression <code class=\"docutils literal notranslate\"><span class=\"pre\">OrderBy</span></code> sera supprimée.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-4-1\">\n<span id=\"id4\"></span><h2>4.1<a class=\"heading-anchor\" href=\"#deprecation-removed-in-4-1\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/3.2/#deprecated-features-3-2\"><span class=\"std std-ref\">notes de publication de Django 3.2</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>La prise en charge de l’attribution d’objets ne pouvant pas être copiés profondément par <code class=\"docutils literal notranslate\"><span class=\"pre\">copy.deepcopy()</span></code> à des attributs de classe dans <code class=\"docutils literal notranslate\"><span class=\"pre\">TestCase.setUpTestData()</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">BaseCommand.requires_system_checks</span></code> ne prendra plus en charge les valeurs booléennes.</p></li>\n<li><p>L’argument <code class=\"docutils literal notranslate\"><span class=\"pre\">whitelist</span></code> et l’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">domain_whitelist</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.validators.EmailValidator</span></code> seront supprimés.</p></li>\n<li><p>La variable de module <code class=\"docutils literal notranslate\"><span class=\"pre\">default_app_config</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TransactionTestCase.assertQuerysetEqual()</span></code> n’appellera plus automatiquement <code class=\"docutils literal notranslate\"><span class=\"pre\">repr()</span></code> sur un jeu de requête lors de comparaisons avec des valeurs textuelles.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.backends.memcached.MemcachedCache</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge du format des messages d’avant Django 3.2 utilisé par <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.messages.storage.cookie.CookieStorage</span></code> sera supprimée.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-4-0\">\n<span id=\"id5\"></span><h2>4.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-4-0\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/3.0/#deprecated-features-3-0\"><span class=\"std std-ref\">notes de publication de Django 3.0</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.http.urlquote()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">urlquote_plus()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">urlunquote()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">urlunquote_plus()</span></code> seront supprimées.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.encoding.force_text()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">smart_text()</span></code> seront supprimées.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation.ugettext()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ugettext_lazy()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ugettext_noop()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ungettext()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">ungettext_lazy()</span></code> seront supprimées.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.views.i18n.set_language()</span></code> ne définira plus la langue de l’utilisateur dans <code class=\"docutils literal notranslate\"><span class=\"pre\">request.session</span></code> (clé <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation.LANGUAGE_SESSION_KEY</span></code>).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">alias=None</span></code> sera obligatoire dans la signature des sous-classes de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.Expression.get_group_by_cols()</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.unescape_entities()</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.http.is_safe_url()</span></code> sera supprimée.</p></li>\n</ul>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/3.1/#deprecated-features-3-1\"><span class=\"std std-ref\">notes de publication de Django 3.1</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>Le réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">PASSWORD_RESET_TIMEOUT_DAYS</span></code> sera supprimé.</p></li>\n<li><p>L’utilisation non documentée de l’expression de requête <a class=\"reference internal\" href=\"/fr/5.0/ref/models/querysets/#std-fieldlookup-isnull\"><code class=\"xref std std-lookup docutils literal notranslate\"><span class=\"pre\">isnull</span></code></a> avec des valeurs non booléennes dans la partie droite ne sera plus autorisée.</p></li>\n<li><p>La classe d’exception <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.query_utils.InvalidQuery</span></code> sera supprimée.</p></li>\n<li><p>Le point d’entrée <code class=\"docutils literal notranslate\"><span class=\"pre\">django-admin.py</span></code> sera supprimé.</p></li>\n<li><p>La méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest.is_ajax()</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge du format de codage des cookies d’avant Django 3.1 utilisé par <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.messages.storage.cookie.CookieStorage</span></code> sera supprimée.</p></li>\n<li><p>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.</p></li>\n<li><p>La prise en charge du format de codage des sessions d’avant Django 3.1 sera supprimée.</p></li>\n<li><p>La prise en charge des signatures <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.signing.Signer</span></code> d’avant Django 3.1 (utilisant l’algorithme de hachage SHA-1) sera supprimée.</p></li>\n<li><p>La prise en charge des signatures <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.signing.dumps()</span></code> d’avant Django 3.1 (utilisant l’algorithme de hachage SHA-1) sera supprimée dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.signing.loads()</span></code>.</p></li>\n<li><p>La prise en charge des sessions d’utilisateurs d’avant Django 3.1 (utilisant l’algorithme de hachage SHA-1) sera supprimée.</p></li>\n<li><p>L’argument <code class=\"docutils literal notranslate\"><span class=\"pre\">get_response</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.deprecation.MiddlewareMixin.__init__()</span></code> sera obligatoire et n’acceptera plus <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code>.</p></li>\n<li><p>L’argument <code class=\"docutils literal notranslate\"><span class=\"pre\">providing_args</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.dispatch.Signal</span></code> sera supprimé.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">length</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.crypto.get_random_string()</span></code> sera obligatoire.</p></li>\n<li><p>Le message <code class=\"docutils literal notranslate\"><span class=\"pre\">list</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelMultipleChoiceField</span></code> sera supprimé.</p></li>\n<li><p>La prise en charge de la transmission d’alias de colonnes bruts à <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet.order_by()</span></code> sera supprimée.</p></li>\n<li><p>Le modèle <code class=\"docutils literal notranslate\"><span class=\"pre\">NullBooleanField</span></code> sera supprimé. Un champ factice restera pour des raisons de compatibilité avec les migrations historiques.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.url()</span></code> sera supprimée.</p></li>\n<li><p>Le modèle <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.JSONField</span></code> sera supprimé. Un champ factice restera pour des raisons de compatibilité avec l’historique des migrations.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.forms.JSONField</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.jsonb.KeyTransform</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.jsonb.KeyTextTransform</span></code> seront supprimés.</p></li>\n<li><p>Les balises de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">ifequal</span> <span class=\"pre\">%}</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">ifnotequal</span> <span class=\"pre\">%}</span></code> seront supprimées.</p></li>\n<li><p>Le réglage temporaire <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_HASHING_ALGORITHM</span></code> sera supprimé.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-3-1\">\n<span id=\"id6\"></span><h2>3.1<a class=\"heading-anchor\" href=\"#deprecation-removed-in-3-1\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/2.2/#deprecated-features-2-2\"><span class=\"std std-ref\">notes de publication de Django 2.2</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.timezone.FixedOffset</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.paginator.QuerySetPaginator</span></code> sera supprimée.</p></li>\n<li><p>L’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">Meta.ordering</span></code> des modèles n’affectera plus les requêtes <code class=\"docutils literal notranslate\"><span class=\"pre\">GROUP</span> <span class=\"pre\">BY</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.fields.FloatRangeField</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.postgres.forms.FloatRangeField</span></code> seront supprimés.</p></li>\n<li><p>Le réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">FILE_CHARSET</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles.storage.CachedStaticFilesStorage</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">RemoteUserBackend.configure_user()</span></code> exigera <code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code> comme premier paramètre positionnel.</p></li>\n<li><p>La prise en charge de <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.allow_database_queries</span></code> et de <code class=\"docutils literal notranslate\"><span class=\"pre\">TransactionTestCase.multi_db</span></code> sera supprimée.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-3-0\">\n<span id=\"id7\"></span><h2>3.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-3-0\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/2.0/#deprecated-features-2-0\"><span class=\"std std-ref\">notes de publication de Django 2.0</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>Le module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.postgresql_psycopg2</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render_to_response()</span></code> sera supprimée.</p></li>\n<li><p>Le réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_CONTENT_TYPE</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest.xreadlines()</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge du paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">context</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">Field.from_db_value()</span></code> et de <code class=\"docutils literal notranslate\"><span class=\"pre\">Expression.convert_value()</span></code> sera supprimée.</p></li>\n<li><p>Le paramètre nommé <code class=\"docutils literal notranslate\"><span class=\"pre\">field_name</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">QuerySet.earliest()</span></code> et de <code class=\"docutils literal notranslate\"><span class=\"pre\">latest()</span></code> sera supprimé.</p></li>\n</ul>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/2.1/#deprecated-features-2-1\"><span class=\"std std-ref\">notes de publication de Django 2.1</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.db.models.functions.ForceRHR</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.http.cookie_date()</span></code> sera supprimée.</p></li>\n<li><p>Les bibliothèques de balises de gabarits <code class=\"docutils literal notranslate\"><span class=\"pre\">staticfiles</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">admin_static</span></code> seront supprimées.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles.templatetags.static()</span></code> sera supprimée.</p></li>\n<li><p>La couche de compatibilité pour permettre à <code class=\"docutils literal notranslate\"><span class=\"pre\">InlineModelAdmin.has_add_permission()</span></code> d’être définie sans paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">obj</span></code> sera supprimée.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-2-1\">\n<span id=\"id8\"></span><h2>2.1<a class=\"heading-anchor\" href=\"#deprecation-removed-in-2-1\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/1.11/#deprecated-features-1-11\"><span class=\"std std-ref\">notes de publication de Django 1.11</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">contrib.auth.views.login()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">logout()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">password_change()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">password_change_done()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">password_reset()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">password_reset_done()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">password_reset_confirm()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">password_reset_complete()</span></code> seront supprimées.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">extra_context</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">contrib.auth.views.logout_then_login()</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.runner.setup_databases()</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation.string_concat()</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.backends.memcached.PyLibMCCache</span></code> ne prendra plus en charge la transmission des réglages de comportement <code class=\"docutils literal notranslate\"><span class=\"pre\">pylibmc</span></code> comme attributs de premier niveau des <code class=\"docutils literal notranslate\"><span class=\"pre\">OPTIONS</span></code>.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">host</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.http.is_safe_url()</span></code> sera supprimé.</p></li>\n<li><p>Le masquage des exceptions produites lors du rendu de la balise de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">include</span> <span class=\"pre\">%}</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">DatabaseIntrospection.get_indexes()</span></code> sera supprimée.</p></li>\n<li><p>La méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">authenticate()</span></code> des moteurs d’authentification exigera <code class=\"docutils literal notranslate\"><span class=\"pre\">request</span></code> comme premier paramètre positionnel.</p></li>\n<li><p>Le décorateur <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.permalink()</span></code> sera supprimé.</p></li>\n<li><p>Le réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">USE_ETAGS</span></code> sera supprimé.  <code class=\"docutils literal notranslate\"><span class=\"pre\">CommonMiddleware</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.cache.patch_response_headers()</span></code> ne créeront plus d’ETags.</p></li>\n<li><p>L’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta.has_auto_field</span></code> sera supprimé.</p></li>\n<li><p>La prise en charge de <code class=\"docutils literal notranslate\"><span class=\"pre\">url()</span></code> des drapeaux en ligne dans les groupes d’expressions régulières (<code class=\"docutils literal notranslate\"><span class=\"pre\">(?i)</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">(?L)</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">(?m)</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">(?s)</span></code>, and <code class=\"docutils literal notranslate\"><span class=\"pre\">(?u)</span></code>) sera supprimée.</p></li>\n<li><p>La prise en charge des méthodes <code class=\"docutils literal notranslate\"><span class=\"pre\">Widget.render()</span></code> sans le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">renderer</span></code> sera supprimée.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-2-0\">\n<span id=\"id9\"></span><h2>2.0<a class=\"heading-anchor\" href=\"#deprecation-removed-in-2-0\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/1.9/#deprecated-features-1-9\"><span class=\"std std-ref\">notes de publication de Django 1.9</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">weak</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.dispatch.signals.Signal.disconnect()</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.base.BaseDatabaseOperations.check_aggregate_support()</span></code> sera supprimée.</p></li>\n<li><p>Le paquet <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.extras</span></code> sera supprimé.</p></li>\n<li><p>L’utilitaire <code class=\"docutils literal notranslate\"><span class=\"pre\">assignment_tag</span></code> sera supprimé.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">host</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">assertsRedirects</span></code> sera 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.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Field.rel</span></code> sera supprimé.</p></li>\n<li><p>L’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">Field.remote_field.to</span></code> sera supprimé.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">on_delete</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">ForeignKey</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code> deviendra obligatoire.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.fields.add_lazy_relation()</span></code> sera supprimée.</p></li>\n<li><p>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 <code class=\"docutils literal notranslate\"><span class=\"pre\">cursor.execute()</span></code>.</p></li>\n<li><p>Le décorateur <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.tests.utils.skipIfCustomUser()</span></code> sera supprimé.</p></li>\n<li><p>Les classes <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoManager</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoQuerySet</span></code> seront supprimées.</p></li>\n<li><p>Le module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geoip</span></code> sera supprimé.</p></li>\n<li><p>Le contrôle <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_recursion</span></code> pour les chargeurs de gabarit sera supprimé de :</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.engine.Engine.find_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader_tags.ExtendsNode.find_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.base.Loader.supports_recursion()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.cached.Loader.supports_recursion()</span></code></p></li>\n</ul>\n</li>\n<li><p>Les méthodes de chargeur de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">load_template()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">load_template_sources()</span></code> seront supprimées.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">template_dirs</span></code> des chargeurs de gabarit sera supprimé de :</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.base.Loader.get_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.cached.Loader.cache_key()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.cached.Loader.get_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.cached.Loader.get_template_sources()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.filesystem.Loader.get_template_sources()</span></code></p></li>\n</ul>\n</li>\n<li><p>La méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.base.Loader.__call__()</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge des vues d’erreur personnalisées avec un seul paramètre positionnel sera supprimée.</p></li>\n<li><p>L’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">mime_type</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.feedgenerator.Atom1Feed</span></code> et de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.feedgenerator.RssFeed</span></code> sera supprimé en faveur de <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code>.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">app_name</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.include()</span></code> sera supprimé.</p></li>\n<li><p>La prise en charge de la transmission d’un tuple à 3 comme premier paramètre de <code class=\"docutils literal notranslate\"><span class=\"pre\">include()</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge de la définition de l’espace de nom d’une instance d’URL sans espace de nom d’application sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Field._get_val_from_obj()</span></code> sera supprimée en faveur de <code class=\"docutils literal notranslate\"><span class=\"pre\">Field.value_from_object()</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loaders.eggs.Loader</span></code> sera supprimée.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">current_app</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">contrib.auth</span></code> sera supprimé.</p></li>\n<li><p>Le paramètre nommé <code class=\"docutils literal notranslate\"><span class=\"pre\">callable_obj</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.assertRaisesMessage()</span></code> sera supprimé.</p></li>\n<li><p>La prise en charge de l’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_tags</span></code> des méthodes <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin</span></code> sera supprimée.</p></li>\n<li><p>Le paramètre nommé <code class=\"docutils literal notranslate\"><span class=\"pre\">enclosure</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">SyndicationFeed.add_item()</span></code> sera supprimé.</p></li>\n<li><p>Les alias <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.LoaderOrigin</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.base.StringOrigin</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.base.Origin</span></code> seront supprimés.</p></li>\n</ul>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/1.10/#deprecated-features-1-10\"><span class=\"std std-ref\">notes de publication de Django 1.10</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>L’option <code class=\"docutils literal notranslate\"><span class=\"pre\">makemigrations</span> <span class=\"pre\">--exit</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge de l’attribution directe à une clé étrangère inversée ou à des relations plusieurs-à-plusieurs sera supprimée.</p></li>\n<li><p>Les méthodes <code class=\"docutils literal notranslate\"><span class=\"pre\">get_srid()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">set_srid()</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.GEOSGeometry</span></code> seront supprimées.</p></li>\n<li><p>Les méthodes <code class=\"docutils literal notranslate\"><span class=\"pre\">get_x()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">set_x()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">get_y()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">set_y()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">get_z()</span></code> et  <code class=\"docutils literal notranslate\"><span class=\"pre\">set_z()</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.Point</span></code> seront supprimées.</p></li>\n<li><p>Les méthodes <code class=\"docutils literal notranslate\"><span class=\"pre\">get_coords()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">set_coords()</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.Point</span></code> seront supprimées.</p></li>\n<li><p>La propriété <code class=\"docutils literal notranslate\"><span class=\"pre\">cascaded_union</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geos.MultiPolygon</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.functional.allow_lazy()</span></code> sera supprimée.</p></li>\n<li><p>L’option <code class=\"docutils literal notranslate\"><span class=\"pre\">shell</span> <span class=\"pre\">--plain</span></code> sera supprimée.</p></li>\n<li><p>Le module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.urlresolvers</span></code> sera supprimé.</p></li>\n<li><p>Le modèle <code class=\"docutils literal notranslate\"><span class=\"pre\">CommaSeparatedIntegerField</span></code> sera supprimé. Un champ factice restera pour des raisons de compatibilité avec les migrations historiques.</p></li>\n<li><p>La prise en charge de la méthode de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">Context.has_key()</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge des méthodes <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.files.storage.Storage.accessed_time()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">created_time()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">modified_time()</span></code> sera supprimée.</p></li>\n<li><p>Les expressions de requête utilisant le nom de modèle lorsque <code class=\"docutils literal notranslate\"><span class=\"pre\">Meta.default_related_name</span></code> est défini ne seront plus prises en charge.</p></li>\n<li><p>L’expression de requête <code class=\"docutils literal notranslate\"><span class=\"pre\">__search</span></code> et la méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">DatabaseOperations.fulltext_search_sql()</span></code> seront supprimées.</p></li>\n<li><p>Le bout de code prenant en charge les classes personnalisées de gestionnaire de champs liés sans méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">_apply_rel_filters()</span></code> sera supprimé.</p></li>\n<li><p>L’utilisation de <code class=\"docutils literal notranslate\"><span class=\"pre\">User.is_authenticated()</span></code> et de <code class=\"docutils literal notranslate\"><span class=\"pre\">User.is_anonymous()</span></code> sous forme de méthode ne sera plus prise en charge.</p></li>\n<li><p>L’attribut privé <code class=\"docutils literal notranslate\"><span class=\"pre\">virtual_fields</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta</span></code> sera supprimé.</p></li>\n<li><p>Les arguments nommés privés <code class=\"docutils literal notranslate\"><span class=\"pre\">virtual_only</span></code> dans <code class=\"docutils literal notranslate\"><span class=\"pre\">Field.contribute_to_class()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">virtual</span></code> dans <code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta.add_field()</span></code> seront supprimés.</p></li>\n<li><p>Les vues <code class=\"docutils literal notranslate\"><span class=\"pre\">javascript_catalog()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">json_catalog()</span></code> seront supprimées.</p></li>\n<li><p>La fonction <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.utils.precision_wkt()</span></code> sera supprimée.</p></li>\n<li><p>Dans l’héritage multitable, la promotion implicite d’un champ <code class=\"docutils literal notranslate\"><span class=\"pre\">OneToOneField</span></code> vers un lien <code class=\"docutils literal notranslate\"><span class=\"pre\">parent_link</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge de <code class=\"docutils literal notranslate\"><span class=\"pre\">Widget._format_value()</span></code> sera supprimée.</p></li>\n<li><p>Les méthodes <code class=\"docutils literal notranslate\"><span class=\"pre\">get_directory_name()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">get_filename()</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">FileField</span></code> seront supprimées.</p></li>\n<li><p>La fonction <code class=\"docutils literal notranslate\"><span class=\"pre\">mark_for_escaping()</span></code> et les classes qu’elle utilise : <code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeData</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeBytes</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeText</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeString</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">EscapeUnicode</span></code> seront supprimées.</p></li>\n<li><p>Le filtre <code class=\"docutils literal notranslate\"><span class=\"pre\">escape</span></code> sera modifié pour utiliser <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.html.conditional_escape()</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Manager.use_for_related_fields</span></code> sera supprimé.</p></li>\n<li><p>L’héritage de <code class=\"docutils literal notranslate\"><span class=\"pre\">Manager</span></code> des modèles va suivre les règles d’héritage MRO et l’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">Meta.manager_inheritance_from_future</span></code> qui active ce comportement sera supprimé.</p></li>\n<li><p>La prise en charge de l’ancien style d’intergiciel utilisant <code class=\"docutils literal notranslate\"><span class=\"pre\">settings.MIDDLEWARE_CLASSES</span></code> sera supprimée.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-10\">\n<span id=\"id10\"></span><h2>1.10<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-10\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/1.8/#deprecated-features-1-8\"><span class=\"std std-ref\">notes de publication de Django 1.8</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>La prise en charge de l’appel direct à <code class=\"docutils literal notranslate\"><span class=\"pre\">SQLCompiler</span></code> comme alias pour appeler sa méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">quote_name_unless_alias</span></code> sera supprimée.</p></li>\n<li><p>Les balises de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">cycle</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">firstof</span></code> seront supprimées de la bibliothèque de balises de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">future</span></code> (utilisées durant la période d’obsolescence 1.6/1.7).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.patterns()</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge de l’argument <code class=\"docutils literal notranslate\"><span class=\"pre\">prefix</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.i18n.i18n_patterns()</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SimpleTestCase.urls</span></code> sera supprimé.</p></li>\n<li><p>L’utilisation d’un nombre incorrect de valeurs dépaquetées dans la balise de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">for</span></code> produira une exception et n’échouera plus de manière silencieuse.</p></li>\n<li><p>La possibilité de résoudre des URL avec un chemin Python pointé sera supprimée.</p></li>\n<li><p>La possibilité d’utiliser un chemin Python pointé pour les réglages <code class=\"docutils literal notranslate\"><span class=\"pre\">LOGIN_URL</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">LOGIN_REDIRECT_URL</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge de <a class=\"reference external\" href=\"https://docs.python.org/3/library/optparse.html#module-optparse\" title=\"(disponible dans Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">optparse</span></code></a> pour les commandes d’administration personnalisées sera supprimée (remplacée par <a class=\"reference external\" href=\"https://docs.python.org/3/library/argparse.html#module-argparse\" title=\"(disponible dans Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">argparse</span></code></a>).</p></li>\n<li><p>La classe <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.management.NoArgsCommand</span></code> sera supprimée. Utilisez <a class=\"reference internal\" href=\"/fr/5.0/howto/custom-management-commands/#django.core.management.BaseCommand\" title=\"django.core.management.BaseCommand\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">BaseCommand</span></code></a> à la place, qui n’accepte aucun argument par défaut.</p></li>\n<li><p>Le module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.context_processors</span></code> sera supprimé.</p></li>\n<li><p>Le module <code class=\"docutils literal notranslate\"><span class=\"pre\">djangodb.models.sql.aggregates</span></code> sera supprimé.</p></li>\n<li><p>Le module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.db.models.sql.aggregates</span></code> sera supprimé.</p></li>\n<li><p>Les méthodes et propriétés suivantes de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.sql.query.Query</span></code> seront supprimées :</p>\n<ul>\n<li><p>Propriétés : <code class=\"docutils literal notranslate\"><span class=\"pre\">aggregates</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">aggregate_select</span></code></p></li>\n<li><p>Méthodes : <code class=\"docutils literal notranslate\"><span class=\"pre\">add_aggregate</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">set_aggregate_mask</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">append_aggregate_mask</span></code>.</p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.resolve_variable</span></code> sera supprimée.</p></li>\n<li><p>Les API privées suivantes seront supprimées de <a class=\"reference internal\" href=\"/fr/5.0/ref/models/meta/#django.db.models.options.Options\" title=\"django.db.models.options.Options\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.db.models.options.Options</span></code></a> (<code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta</span></code>) :</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_field_by_name()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_all_field_names()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_fields_with_model()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_concrete_fields_with_model()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_m2m_with_model()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_all_related_objects()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_all_related_objects_with_model()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_all_related_many_to_many_objects()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">get_all_related_m2m_objects_with_model()</span></code></p></li>\n</ul>\n</li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">error_message</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.RegexField</span></code> sera supprimé.</p></li>\n<li><p>Le filtre <code class=\"docutils literal notranslate\"><span class=\"pre\">unordered_list</span></code> ne prendra plus en charge les listes de l’ancien style.</p></li>\n<li><p>La prise en charge des paramètres de <code class=\"docutils literal notranslate\"><span class=\"pre\">view</span></code> sous forme de texte dans <code class=\"docutils literal notranslate\"><span class=\"pre\">url()</span></code> sera supprimée.</p></li>\n<li><p>La couche de rétrocompatibilité pour renommer <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.Form._has_changed()</span></code> en <code class=\"docutils literal notranslate\"><span class=\"pre\">has_changed()</span></code> sera supprimée.</p></li>\n<li><p>Le filtre de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">removetags</span></code> sera supprimé.</p></li>\n<li><p>Les fonctions <code class=\"docutils literal notranslate\"><span class=\"pre\">remove_tags()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">strip_entities()</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.html</span></code> seront supprimées.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">is_admin_site</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.views.password_reset()</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.field.subclassing.SubfieldBase</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.checksums</span></code> sera supprimée ; cette fonctionnalité est incluse dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django-localflavor</span></code> 1.1+.</p></li>\n<li><p>L’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">original_content_type_id</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.admin.helpers.InlineAdminForm</span></code> sera supprimé.</p></li>\n<li><p>La couche de compatibilité pour permettre à <code class=\"docutils literal notranslate\"><span class=\"pre\">FormMixin.get_form()</span></code> d’être définie sans valeur par défaut pour son paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">form_class</span></code> sera supprimée.</p></li>\n<li><p>Les réglages suivants seront supprimés :</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ALLOWED_INCLUDE_ROOTS</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATE_CONTEXT_PROCESSORS</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATE_DEBUG</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATE_DIRS</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATE_LOADERS</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TEMPLATE_STRING_IF_INVALID</span></code></p></li>\n</ul>\n</li>\n<li><p>L’alias de rétrocompatibilité <code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.BaseLoader</span></code> sera supprimé.</p></li>\n<li><p>Les objets de gabarit Django renvoyés par <a class=\"reference internal\" href=\"/fr/5.0/topics/templates/#django.template.loader.get_template\" title=\"django.template.loader.get_template\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">get_template()</span></code></a> et <a class=\"reference internal\" href=\"/fr/5.0/topics/templates/#django.template.loader.select_template\" title=\"django.template.loader.select_template\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">select_template()</span></code></a> n’accepteront plus de <a class=\"reference internal\" href=\"/fr/5.0/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Context</span></code></a> dans leur méthode <a class=\"reference internal\" href=\"/fr/5.0/topics/templates/#django.template.backends.base.Template.render\" title=\"django.template.backends.base.Template.render\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">render()</span></code></a>.</p></li>\n<li><p>Les <a class=\"reference internal\" href=\"/fr/5.0/ref/template-response/\"><span class=\"doc\">API de réponse de gabarit</span></a> forceront l’usage de <a class=\"reference external\" href=\"https://docs.python.org/3/library/stdtypes.html#dict\" title=\"(disponible dans Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">dict</span></code></a> et d’objets de gabarit dépendants du moteur au lieu de respectivement <a class=\"reference internal\" href=\"/fr/5.0/ref/templates/api/#django.template.Context\" title=\"django.template.Context\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Context</span></code></a> et de <a class=\"reference internal\" href=\"/fr/5.0/ref/templates/api/#django.template.Template\" title=\"django.template.Template\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Template</span></code></a>.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">current_app</span></code> sera supprimé des fonction et classes suivantes :</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.Context()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.RequestContext()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.response.TemplateResponse()</span></code></p></li>\n</ul>\n</li>\n<li><p>Les paramètres <code class=\"docutils literal notranslate\"><span class=\"pre\">dictionary</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">context_instance</span></code> seront supprimés des fonctions suivantes :</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render_to_response()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.render_to_string()</span></code></p></li>\n</ul>\n</li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">dirs</span></code> sera supprimé des fonctions suivantes :</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.get_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.template.loader.select_template()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.shortcuts.render_to_response()</span></code></p></li>\n</ul>\n</li>\n<li><p>La vérification des sessions sera active sans tenir compte de la présence de <code class=\"docutils literal notranslate\"><span class=\"pre\">'django.contrib.auth.middleware.SessionAuthenticationMiddleware'</span></code> dans <code class=\"docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES</span></code>.</p></li>\n<li><p>L’attribut privé <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.Field.related</span></code> sera supprimé.</p></li>\n<li><p>L’option <code class=\"docutils literal notranslate\"><span class=\"pre\">--list</span></code> de la commande d’administration <code class=\"docutils literal notranslate\"><span class=\"pre\">migrate</span></code> sera supprimée.</p></li>\n<li><p>La balise de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">ssi</span></code> sera supprimée.</p></li>\n<li><p>La prise en charge de l’opérateur de comparaison <code class=\"docutils literal notranslate\"><span class=\"pre\">=</span></code> sera supprimée dans la balise de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">if</span></code>.</p></li>\n<li><p>Les bouts de code de rétrocompatibilité pour permettre de définir <code class=\"docutils literal notranslate\"><span class=\"pre\">Storage.get_available_name()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">Storage.save()</span></code> sans argument <code class=\"docutils literal notranslate\"><span class=\"pre\">max_length</span></code> seront supprimés.</p></li>\n<li><p>La prise en charge de l’ancienne syntaxe <code class=\"docutils literal notranslate\"><span class=\"pre\">%(&lt;foo&gt;)s</span></code> dans <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelFormMixin.success_url</span></code> sera supprimée.</p></li>\n<li><p>Les méthodes d’agrégation <code class=\"docutils literal notranslate\"><span class=\"pre\">GeoQuerySet</span></code> <code class=\"docutils literal notranslate\"><span class=\"pre\">collect()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">extent()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">extent3d()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">make_line()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">unionagg()</span></code> seront supprimées.</p></li>\n<li><p>La possibilité de définir <code class=\"docutils literal notranslate\"><span class=\"pre\">ContentType.name</span></code> lors de la création d’une instance de type de contenu sera supprimée.</p></li>\n<li><p>La prise en charge de l’ancienne signature de <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_migrate</span></code> sera supprimée. Elle a changé de <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_migrate(self,</span> <span class=\"pre\">db,</span> <span class=\"pre\">model)</span></code> à <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_migrate(self,</span> <span class=\"pre\">db,</span> <span class=\"pre\">app_label,</span> <span class=\"pre\">model_name=None,</span> <span class=\"pre\">**hints)</span></code>.</p></li>\n<li><p>La prise en charge de la syntaxe de <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">cycle</span> <span class=\"pre\">%}</span></code> utilisant les arguments séparés par des virgules sera supprimée.</p></li>\n<li><p>L’avertissement que donne <a class=\"reference internal\" href=\"/fr/5.0/topics/signing/#django.core.signing.Signer\" title=\"django.core.signing.Signer\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Signer</span></code></a> lorsqu’elle reçoit un séparateur non valable deviendra une exception.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-9\">\n<span id=\"id11\"></span><h2>1.9<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-9\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/1.7/#deprecated-features-1-7\"><span class=\"std std-ref\">notes de publication de Django 1.7</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.dictconfig</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.importlib</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.tzinfo</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.unittest</span></code> sera supprimé.</p></li>\n<li><p>La commande <code class=\"docutils literal notranslate\"><span class=\"pre\">syncdb</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.signals.pre_syncdb</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.signals.post_syncdb</span></code> seront supprimés.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">allow_syncdb</span></code> sur les routeurs de base de données ne deviendra plus automatiquement <code class=\"docutils literal notranslate\"><span class=\"pre\">allow_migrate</span></code>.</p></li>\n<li><p>La synchronisation automatique des applications sans migrations sera supprimée. Les migrations deviendront obligatoires pour toutes les applications sauf quand l’option <code class=\"docutils literal notranslate\"><span class=\"pre\">--run-syncdb</span></code> est transmise à la commande <code class=\"docutils literal notranslate\"><span class=\"pre\">migrate</span></code>.</p></li>\n<li><p>Les commandes d’administration SQL pour les applications sans migrations <code class=\"docutils literal notranslate\"><span class=\"pre\">sql</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">sqlall</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">sqlclear</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">sqldropindexes</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">sqlindexes</span></code> seront supprimées.</p></li>\n<li><p>La prise en charge du chargement automatique des instantanés <code class=\"docutils literal notranslate\"><span class=\"pre\">initial_data</span></code> et des données SQL initiales sera supprimée.</p></li>\n<li><p>Tous les modèles devront être définis dans une application installée ou déclarer une option <a class=\"reference internal\" href=\"/fr/5.0/ref/models/options/#django.db.models.Options.app_label\" title=\"django.db.models.Options.app_label\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">app_label</span></code></a> explicite. 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.</p></li>\n<li><p>Les champ de modèle et de formulaire <code class=\"docutils literal notranslate\"><span class=\"pre\">IPAddressField</span></code> seront supprimés. Un champ de substitution restera pour des raisons de compatibilité avec l’historique des migrations.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">AppCommand.handle_app()</span></code> ne sera plus prise en charge.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">RequestSite</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">get_current_site()</span></code> ne pourront plus être importés à partir de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sites.models</span></code>.</p></li>\n<li><p>La prise en charge de FastCGI par la commande d’administration <code class=\"docutils literal notranslate\"><span class=\"pre\">runfcgi</span></code> sera supprimée. Veuillez déployer votre projet avec WSGI.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.datastructures.SortedDict</span></code> sera supprimé. Utilisez à la place <a class=\"reference external\" href=\"https://docs.python.org/3/library/collections.html#collections.OrderedDict\" title=\"(disponible dans Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">collections.OrderedDict</span></code></a> de la bibliothèque Python standard.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.declared_fieldsets</span></code> sera supprimé.</p></li>\n<li><p>Les instances de fichier <code class=\"docutils literal notranslate\"><span class=\"pre\">util.py</span></code> dans la base de code de Django ont été renommées en <code class=\"docutils literal notranslate\"><span class=\"pre\">utils.py</span></code> dans un effort d’unification de toutes les références à <code class=\"docutils literal notranslate\"><span class=\"pre\">util</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">utils</span></code>. Les modules qui garantissent une rétrocompatibilité seront supprimés.</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.admin.util</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.db.backends.util</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.util</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.util</span></code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.get_formsets</span></code> sera supprimé.</p></li>\n<li><p>Le code de rétrocompatibilité permettant le renommage de la méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseMemcachedCache._get_memcache_timeout()</span></code> en <code class=\"docutils literal notranslate\"><span class=\"pre\">get_backend_timeout()</span></code> sera supprimé.</p></li>\n<li><p>Les options <code class=\"docutils literal notranslate\"><span class=\"pre\">--natural</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">-n</span></code> de <a class=\"reference internal\" href=\"/fr/5.0/ref/django-admin/#django-admin-dumpdata\"><code class=\"xref std std-djadmin docutils literal notranslate\"><span class=\"pre\">dumpdata</span></code></a> seront supprimées.</p></li>\n<li><p>Le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">use_natural_keys</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">serializers.serialize()</span></code> sera supprimé.</p></li>\n<li><p>L’API privée <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.forms.get_declared_fields()</span></code> sera supprimée.</p></li>\n<li><p>La possibilité d’utiliser un composant <code class=\"docutils literal notranslate\"><span class=\"pre\">SplitDateTimeWidget</span></code> avec <code class=\"docutils literal notranslate\"><span class=\"pre\">DateTimeField</span></code> sera supprimée.</p></li>\n<li><p>La propriété <code class=\"docutils literal notranslate\"><span class=\"pre\">WSGIRequest.REQUEST</span></code> sera supprimée.</p></li>\n<li><p>La classe <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.datastructures.MergeDict</span></code> sera supprimée.</p></li>\n<li><p>Les codes de langues <code class=\"docutils literal notranslate\"><span class=\"pre\">zh-cn</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">zh-tw</span></code> seront supprimés et remplacés respectivement par les codes de langues <code class=\"docutils literal notranslate\"><span class=\"pre\">zh-hans</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">zh-hant</span></code>.</p></li>\n<li><p>La fonction interne <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.functional.memoize</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.get_cache</span></code> sera supprimée. Ajoutez plutôt les lignes adéquates dans <a class=\"reference internal\" href=\"/fr/5.0/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CACHES</span></code></a> et utilisez <a class=\"reference internal\" href=\"/fr/5.0/topics/cache/#django.core.cache.caches\" title=\"django.core.cache.caches\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">django.core.cache.caches</span></code></a>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.loading</span></code> sera supprimée.</p></li>\n<li><p>La transmission de paramètres exécutables aux jeux de requête ne sera plus possible.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">BaseCommand.requires_model_validation</span></code> sera supprimé en faveur de <code class=\"docutils literal notranslate\"><span class=\"pre\">requires_system_checks</span></code>.</p></li>\n<li><p>Les attributs <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.validator_class</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">default_validator_class</span></code> seront supprimés.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.validate()</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.DatabaseValidation.validate_field</span></code> sera supprimée en faveur de la méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">check_field</span></code>.</p></li>\n<li><p>La commande d’administration <code class=\"docutils literal notranslate\"><span class=\"pre\">validate</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.module_loading.import_by_path</span></code> sera supprimé en faveur de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.module_loading.import_string</span></code>.</p></li>\n<li><p>Les balises de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">ssi</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">url</span></code> seront supprimées de la bibliothèque de balises de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">future</span></code> (utilisées durant la période d’obsolescence 1.3/1.4).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.javascript_quote</span></code> sera supprimé.</p></li>\n<li><p>Les réglages de test de base de données comme entrées indépendantes dans les réglages de base de données, préfixés par <code class=\"docutils literal notranslate\"><span class=\"pre\">TEST_</span></code> ne seront plus pris en charge.</p></li>\n<li><p>L’option <code class=\"docutils literal notranslate\"><span class=\"pre\">cache_choices</span></code> de <a class=\"reference internal\" href=\"/fr/5.0/ref/forms/fields/#django.forms.ModelChoiceField\" title=\"django.forms.ModelChoiceField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelChoiceField</span></code></a> et <a class=\"reference internal\" href=\"/fr/5.0/ref/forms/fields/#django.forms.ModelMultipleChoiceField\" title=\"django.forms.ModelMultipleChoiceField\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">ModelMultipleChoiceField</span></code></a> sera supprimée.</p></li>\n<li><p>La valeur par défaut de l’attribut <a class=\"reference internal\" href=\"/fr/5.0/ref/class-based-views/base/#django.views.generic.base.RedirectView.permanent\" title=\"django.views.generic.base.RedirectView.permanent\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">RedirectView.permanent</span></code></a> sera modifié de <code class=\"docutils literal notranslate\"><span class=\"pre\">True</span></code> à <code class=\"docutils literal notranslate\"><span class=\"pre\">False</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.sitemaps.FlatPageSitemap</span></code> sera supprimée en faveur de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.flatpages.sitemaps.FlatPageSitemap</span></code>.</p></li>\n<li><p>L’API privée <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.utils.TestTemplateLoader</span></code> sera supprimée.</p></li>\n<li><p>Le module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.contenttypes.generic</span></code> sera supprimé.</p></li>\n<li><p>Les API privées <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.sql.where.WhereNode.make_atom()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.sql.where.Constraint</span></code> seront supprimées.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-8\">\n<span id=\"id12\"></span><h2>1.8<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-8\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/1.6/#deprecated-features-1-6\"><span class=\"std std-ref\">notes de publication de Django 1.6</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.comments</span></code> sera supprimé.</p></li>\n<li><p>Les API de gestion des transactions suivantes seront supprimées :</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TransactionMiddleware</span></code>,</p></li>\n<li><p>les décorateurs et gestionnaires de contexte <code class=\"docutils literal notranslate\"><span class=\"pre\">autocommit</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">commit_on_success</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">commit_manually</span></code>, définis dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.transaction</span></code>,</p></li>\n<li><p>les fonctions <code class=\"docutils literal notranslate\"><span class=\"pre\">commit_unless_managed</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">rollback_unless_managed</span></code>, aussi définies dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.transaction</span></code>,</p></li>\n<li><p>le réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">TRANSACTIONS_MANAGED</span></code>.</p></li>\n</ul>\n</li>\n<li><p>Les balises de gabarit <a class=\"reference internal\" href=\"/fr/5.0/ref/templates/builtins/#std-templatetag-cycle\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">cycle</span></code></a> et <a class=\"reference internal\" href=\"/fr/5.0/ref/templates/builtins/#std-templatetag-firstof\"><code class=\"xref std std-ttag docutils literal notranslate\"><span class=\"pre\">firstof</span></code></a> vont automatiquement échapper leurs paramètres. Dans 1.6 et 1.7, ce comportement est offert par les versions de ces balises dans la bibliothèque de balises de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">future</span></code>.</p></li>\n<li><p>Le réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">SEND_BROKEN_LINK_EMAILS</span></code> sera supprimé. Ajoutez plutôt l’intergiciel <a class=\"reference internal\" href=\"/fr/5.0/ref/middleware/#django.middleware.common.BrokenLinkEmailsMiddleware\" title=\"django.middleware.common.BrokenLinkEmailsMiddleware\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.middleware.common.BrokenLinkEmailsMiddleware</span></code></a> à votre réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">MIDDLEWARE_CLASSES</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.middleware.doc.XViewMiddleware</span></code> sera supprimé. Utilisez <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.admindocs.middleware.XViewMiddleware</span></code> à la place.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta.module_name</span></code> a été renommé en <code class=\"docutils literal notranslate\"><span class=\"pre\">model_name</span></code>.</p></li>\n<li><p>Suppression du code de rétrocompatibilité introduit pour renommer <code class=\"docutils literal notranslate\"><span class=\"pre\">get_query_set</span></code> et les méthodes similaires de jeux de requêtes. Cela affecte les classes suivantes : <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseModelAdmin</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">ChangeList</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">BaseCommentNode</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">GenericForeignKey</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">Manager</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">SingleRelatedObjectDescriptor</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">ReverseSingleRelatedObjectDescriptor</span></code>.</p></li>\n<li><p>Suppression du code de rétrocompatibilité introduit pour renommer les attributs <code class=\"docutils literal notranslate\"><span class=\"pre\">ChangeList.root_query_set</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">ChangeList.query_set</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.views.defaults.shortcut</span></code> sera supprimée, dans le cadre de l’objectif de supprimer toutes les références à <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib</span></code> dans le code du cœur de Django. Utilisez <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.contenttypes.views.shortcut</span></code> à la place. <code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.shortcut</span></code> sera aussi supprimée.</p></li>\n<li><p>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.</p></li>\n<li><p>Les API privées suivantes seront supprimées :</p>\n<ul>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backend</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.close_connection()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.creation.BaseDatabaseCreation.set_autocommit()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.transaction.is_managed()</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.transaction.managed()</span></code></p></li>\n</ul>\n</li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.widgets.RadioInput</span></code> sera supprimé en faveur de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.widgets.RadioChoiceInput</span></code>.</p></li>\n<li><p>Le module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple</span></code> et la classe <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple.DjangoTestSuiteRunner</span></code> seront supprimés. Utilisez <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.runner.DiscoverRunner</span></code> à la place.</p></li>\n<li><p>Le module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test._doctest</span></code> sera supprimé. Utilisez à la place le module doctest de la bibliothèque Python standard.</p></li>\n<li><p>Le réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">CACHE_MIDDLEWARE_ANONYMOUS_ONLY</span></code> sera supprimé.</p></li>\n<li><p>L’utilisation de la chaîne codée en dur <em>Maintenir «Contrôle» ou  «Commande» sur Mac pour sélectionner plusieurs</em> pour remplacer ou ajouter au contenu <code class=\"docutils literal notranslate\"><span class=\"pre\">help_text</span></code> des formulaires pour les champs de modèle ManyToMany ne sera plus appliquée par Django, ni pour les modèles, ni pour les formulaires.</p></li>\n<li><p>Les méthodes <code class=\"docutils literal notranslate\"><span class=\"pre\">Model._meta.get_(add|change|delete)_permission</span></code> seront supprimées.</p></li>\n<li><p>La clé de session <code class=\"docutils literal notranslate\"><span class=\"pre\">django_language</span></code> ne sera plus lue comme elle l’était par rétrocompatibilité.</p></li>\n<li><p>Les plans de site géographiques seront supprimés (<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.sitemaps.views.index</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.sitemaps.views.sitemap</span></code>).</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.html.fix_ampersands</span></code>, le filtre de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">fix_ampersands</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.html.clean_html</span></code> seront supprimés selon une obsolescence accélérée.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-7\">\n<span id=\"id13\"></span><h2>1.7<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-7\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/1.5/#deprecated-features-1-5\"><span class=\"std std-ref\">notes de publication de Django 1.5</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>Le module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.simplejson</span></code> sera supprimé. La bibliothèque standard fournit <a class=\"reference external\" href=\"https://docs.python.org/3/library/json.html#module-json\" title=\"(disponible dans Python v3.14)\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">json</span></code></a> qui doit être utilisé à la place.</p></li>\n<li><p>La fonction <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.itercompat.product</span></code> sera supprimée. La version intégrée à Python doit être utilisée à la place.</p></li>\n<li><p>La correction automatique des réglages INSTALLED_APPS et TEMPLATE_DIRS lorsqu’ils contiennent des chaînes au lieu de tuples sera supprimée et produira une exception.</p></li>\n<li><p>L’argument <code class=\"docutils literal notranslate\"><span class=\"pre\">mimetype</span></code> des méthodes <code class=\"docutils literal notranslate\"><span class=\"pre\">__init__</span></code> de class:~django.http.HttpResponse, <a class=\"reference internal\" href=\"/fr/5.0/ref/template-response/#django.template.response.SimpleTemplateResponse\" title=\"django.template.response.SimpleTemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">SimpleTemplateResponse</span></code></a> et <a class=\"reference internal\" href=\"/fr/5.0/ref/template-response/#django.template.response.TemplateResponse\" title=\"django.template.response.TemplateResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">TemplateResponse</span></code></a> sera supprimé. Il faut utiliser <code class=\"docutils literal notranslate\"><span class=\"pre\">content_type</span></code> à la place. Cela s’applique aussi au raccourci <code class=\"docutils literal notranslate\"><span class=\"pre\">render_to_response()</span></code> et aux vues des plans de sites, <a class=\"reference internal\" href=\"/fr/5.0/ref/contrib/sitemaps/#django.contrib.sitemaps.views.index\" title=\"django.contrib.sitemaps.views.index\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">index()</span></code></a> et <a class=\"reference internal\" href=\"/fr/5.0/ref/contrib/sitemaps/#django.contrib.sitemaps.views.sitemap\" title=\"django.contrib.sitemaps.views.sitemap\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">sitemap()</span></code></a>.</p></li>\n<li><p>Lorsque <a class=\"reference internal\" href=\"/fr/5.0/ref/request-response/#django.http.HttpResponse\" title=\"django.http.HttpResponse\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HttpResponse</span></code></a> est instanciée avec un itérateur ou lorsque <a class=\"reference internal\" href=\"/fr/5.0/ref/request-response/#django.http.HttpResponse.content\" title=\"django.http.HttpResponse.content\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">content</span></code></a> est défini à un itérateur, ce dernier sera immédiatement consommé.</p></li>\n<li><p>Le réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">AUTH_PROFILE_MODULE</span></code>  ainsi que la méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">get_profile()</span></code> du modèle <code class=\"docutils literal notranslate\"><span class=\"pre\">User</span></code> seront supprimés.</p></li>\n<li><p>La commande d’administration <code class=\"docutils literal notranslate\"><span class=\"pre\">cleanup</span></code> sera supprimée. Elle est remplacée par <code class=\"docutils literal notranslate\"><span class=\"pre\">clearsessions</span></code>.</p></li>\n<li><p>Le script <code class=\"docutils literal notranslate\"><span class=\"pre\">daily_cleanup.py</span></code> sera supprimé.</p></li>\n<li><p>Le paramètre nommé <code class=\"docutils literal notranslate\"><span class=\"pre\">depth</span></code> sera supprimé de <a class=\"reference internal\" href=\"/fr/5.0/ref/models/querysets/#django.db.models.query.QuerySet.select_related\" title=\"django.db.models.query.QuerySet.select_related\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">select_related()</span></code></a>.</p></li>\n<li><p>Les fonctions non documentées <code class=\"docutils literal notranslate\"><span class=\"pre\">get_warnings_state()</span></code>/<code class=\"docutils literal notranslate\"><span class=\"pre\">restore_warnings_state()</span></code> de <a class=\"reference internal\" href=\"/fr/5.0/topics/testing/advanced/#module-django.test.utils\" title=\"django.test.utils: Helpers to write custom test runners.\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.test.utils</span></code></a> et les méthodes <a class=\"reference internal\" href=\"/fr/5.0/topics/testing/tools/#django-testcase-subclasses\"><span class=\"std std-ref\">django.test.*TestCase</span></a> <code class=\"docutils literal notranslate\"><span class=\"pre\">save_warnings_state()</span></code>/ <code class=\"docutils literal notranslate\"><span class=\"pre\">restore_warnings_state()</span></code> sont obsolètes. Utilisez plutôt le gestionnaire de contexte <a class=\"reference external\" href=\"https://docs.python.org/3/library/warnings.html#warnings.catch_warnings\" title=\"(disponible dans Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">warnings.catch_warnings</span></code></a> disponible à partir de Python 2.6.</p></li>\n<li><p>La méthode non documentée <code class=\"docutils literal notranslate\"><span class=\"pre\">check_for_test_cookie</span></code> dans <a class=\"reference internal\" href=\"/fr/5.0/topics/auth/default/#django.contrib.auth.forms.AuthenticationForm\" title=\"django.contrib.auth.forms.AuthenticationForm\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">AuthenticationForm</span></code></a> sera supprimée à la suite d’une obsolescence accélérée. Les personnes héritant de ce formulaire doivent supprimer les appels à cette méthode et s’assurer à la place que leurs vues liées à l’authentification soient protégées par CSRF, ce qui garantit que les cookies sont activés.</p></li>\n<li><p>La version de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.views.password_reset_confirm()</span></code> qui prend en charge les identifiants d’utilisateur codés en base36 (django.contrib.auth.views.password_reset_confirm_uidb36`) sera supprimée. Si votre site a fonctionné sous Django 1.6 pendant plus de <code class=\"docutils literal notranslate\"><span class=\"pre\">PASSWORD_RESET_TIMEOUT_DAYS</span></code> jours, ce changement n’aura aucun effet. Sinon, tout lien de réinitialisation de mot de passe généré avant de mettre à jour à Django 1.7 ne fonctionnera plus après la mise à jour.</p></li>\n<li><p>La classe mixin <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.encoding.StrAndUnicode</span></code> sera supprimée.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-6\">\n<span id=\"id14\"></span><h2>1.6<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-6\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/1.4/#deprecated-features-1-4\"><span class=\"std std-ref\">notes de publication de Django 1.4</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.databrowse</span></code> sera supprimée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.localflavor</span></code> sera supprimée suite à une obsolescence accélérée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.markup</span></code> sera supprimée suite à une obsolescence accélérée.</p></li>\n<li><p>Les modules de compatibilité <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.copycompat</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.hashcompat</span></code> de même que les fonctions <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.itercompat.all</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.itercompat.any</span></code> seront supprimées. Les versions intégrées à Python doivent être utilisées à la place.</p></li>\n<li><p>Les décorateurs <code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_response_exempt</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_view_exempt</span></code> seront supprimés. Depuis la version 1.4, <code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_response_exempt</span></code> était sans effet (elle renvoie la même fonction) et <code class=\"docutils literal notranslate\"><span class=\"pre\">csrf_view_exempt</span></code> était un synonyme de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.views.decorators.csrf.csrf_exempt</span></code>, qui doit être utilisée pour la remplacer.</p></li>\n<li><p>Le moteur <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.backends.memcached.CacheClass</span></code> a été séparé en deux dans Django 1.3 afin d’ajouter la prise en charge de PyLibMC. La classe historique <code class=\"docutils literal notranslate\"><span class=\"pre\">CacheClass</span></code> sera supprimée en faveur de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.cache.backends.memcached.MemcachedCache</span></code>.</p></li>\n<li><p>Les objets avec préfixe UK de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.localflavor.uk</span></code> ne seront plus disponibles que sous leur nom préfixé avec GB (GB est le code ISO 3166 correct pour le Royaume-Uni).</p></li>\n<li><p>Les réglages <code class=\"docutils literal notranslate\"><span class=\"pre\">IGNORABLE_404_STARTS</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">IGNORABLE_404_ENDS</span></code> ont été remplacés par <a class=\"reference internal\" href=\"/fr/5.0/ref/settings/#std-setting-IGNORABLE_404_URLS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">IGNORABLE_404_URLS</span></code></a> dans la version 1.4. Ils seront supprimés.</p></li>\n<li><p>L’assistant de formulaire a été retravaillé pour utiliser les vues basées sur les classes avec des moteurs interchangeables dans 1.4. L’implémentation précédente sera supprimée.</p></li>\n<li><p>Les anciennes manières d’appeler <a class=\"reference internal\" href=\"/fr/5.0/topics/cache/#django.views.decorators.cache.cache_page\" title=\"django.views.decorators.cache.cache_page\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">cache_page()</span></code></a> seront supprimées.</p></li>\n<li><p>Le code de rétrocompatibilité pour automatiquement ajouter un filtre debug à faux dans le gestionnaire de journalisation <code class=\"docutils literal notranslate\"><span class=\"pre\">'mail_admins'</span></code> sera supprimé. Le réglage <a class=\"reference internal\" href=\"/fr/5.0/ref/settings/#std-setting-LOGGING\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LOGGING</span></code></a> devrait inclure ce filtre explicitement s’il est souhaité.</p></li>\n<li><p>Les fonctions de troncature intégrées <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.truncate_words()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.truncate_html_words()</span></code> seront supprimées en faveur de la nouvelle classe <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.text.Truncator</span></code>.</p></li>\n<li><p>La classe <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geoip.GeoIP</span></code> a été déplacée dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.geoip</span></code> dans la version 1.4 – le raccourci dans  <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.utils</span></code> sera supprimé.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls.defaults</span></code> sera supprimée. Les fonctions <code class=\"docutils literal notranslate\"><span class=\"pre\">include()</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">patterns()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">url()</span></code>, ainsi que <a class=\"reference internal\" href=\"/fr/5.0/ref/urls/#django.conf.urls.handler404\" title=\"django.conf.urls.handler404\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">handler404</span></code></a> et <a class=\"reference internal\" href=\"/fr/5.0/ref/urls/#django.conf.urls.handler500\" title=\"django.conf.urls.handler500\"><code class=\"xref py py-data docutils literal notranslate\"><span class=\"pre\">handler500</span></code></a> sont dorénavant disponibles par <code class=\"docutils literal notranslate\"><span class=\"pre\">django.conf.urls</span></code>.</p></li>\n<li><p>Les fonctions <code class=\"docutils literal notranslate\"><span class=\"pre\">setup_environ()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">execute_manager()</span></code> seront supprimées de <a class=\"reference internal\" href=\"/fr/5.0/howto/custom-management-commands/#module-django.core.management\" title=\"django.core.management\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.core.management</span></code></a>. Cela signifie aussi que l’ancien (pré-1.4) style de fichier <code class=\"file docutils literal notranslate\"><span class=\"pre\">manage.py</span></code> ne fonctionnera plus.</p></li>\n<li><p>La définition des drapeaux <code class=\"docutils literal notranslate\"><span class=\"pre\">is_safe</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">needs_autoescape</span></code> en tant qu’attributs des fonctions de filtres de gabarits ne sera plus prise en charge.</p></li>\n<li><p>L’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest.raw_post_data</span></code> a été renommé en <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest.body</span></code> dans 1.4. La rétrocompatibilité sera supprimée – <code class=\"docutils literal notranslate\"><span class=\"pre\">HttpRequest.raw_post_data</span></code> ne sera plus disponible.</p></li>\n<li><p>La valeur du paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">post_url_continue</span></code> dans <code class=\"docutils literal notranslate\"><span class=\"pre\">ModelAdmin.response_add()</span></code> devra soit valoir <code class=\"docutils literal notranslate\"><span class=\"pre\">None</span></code> (pour rediriger vers la page d’édition de l’objet nouvellement créé) soit contenir une URL préformatée. Les substitutions de chaînes, telles que la valeur par défaut précédente <code class=\"docutils literal notranslate\"><span class=\"pre\">'../%s/'</span></code>, ne seront plus acceptées.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-5\">\n<span id=\"id15\"></span><h2>1.5<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-5\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/1.3/#deprecated-features-1-3\"><span class=\"std std-ref\">notes de publication de Django 1.3</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p>Le lancement de Django sans <a class=\"reference internal\" href=\"/fr/5.0/ref/settings/#std-setting-SECRET_KEY\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">SECRET_KEY</span></code></a> produira une exception au lieu d’un avertissement <code class=\"docutils literal notranslate\"><span class=\"pre\">DeprecationWarning</span></code> (le procédé d’obsolescence a été accéléré, voir <span class=\"xref std std-doc\">les notes de publication de Django 1.4</span>).</p></li>\n<li><p>Le gestionnaire de requête <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_python</span></code> sera supprimé. Le gestionnaire <code class=\"docutils literal notranslate\"><span class=\"pre\">mod_wsgi</span></code> devrait être utilisé à la place.</p></li>\n<li><p>L’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">template</span></code> des objets <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.client.Response</span></code> renvoyés par le <a class=\"reference internal\" href=\"/fr/5.0/topics/testing/tools/#test-client\"><span class=\"std std-ref\">client de test</span></a> sera supprimé. L’attribut <a class=\"reference internal\" href=\"/fr/5.0/topics/testing/tools/#django.test.Response.templates\" title=\"django.test.Response.templates\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">templates</span></code></a> devrait être utilisé à la place.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple.DjangoTestRunner</span></code> sera supprimé. Utilisez à la place une classe intégrée de <code class=\"docutils literal notranslate\"><span class=\"pre\">unittest</span></code>. Les fonctionnalités de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple.DjangoTestRunner</span></code> (y compris l’échec rapide et l’interruption des tests par Ctrl-C) sont aussi disponibles dans <a class=\"reference external\" href=\"https://docs.python.org/3/library/unittest.html#unittest.TextTestRunner\" title=\"(disponible dans Python v3.14)\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">unittest.TextTestRunner</span></code></a>.</p></li>\n<li><p>La fonction non documentée <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.formtools.utils.security_hash</span></code> sera supprimée. Utilisez <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.formtools.utils.form_hmac</span></code> à la place.</p></li>\n<li><p>Les modules de vues génériques basées sur les fonctions seront supprimés en faveur de leurs équivalents basés sur des classes, comme expliqué <a class=\"reference internal\" href=\"/fr/5.0/topics/class-based-views/\"><span class=\"doc\">ici</span></a>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.servers.basehttp.AdminMediaHandler</span></code> sera supprimé. Utilisez <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.staticfiles.handlers.StaticFilesHandler</span></code> à sa place.</p></li>\n<li><p>La bibliothèque de balises de gabarits <code class=\"docutils literal notranslate\"><span class=\"pre\">adminmedia</span></code> et la balise de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">admin_media_prefix</span> <span class=\"pre\">%}</span></code> seront supprimés en faveur de la gestion générique des fichiers statiques (suppression accélérée par rapport au processus d’obsolescence habituel, voir les <span class=\"xref std std-doc\">notes de publication de Django 1.4</span>).</p></li>\n<li><p>Les balises de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">url</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">ssi</span></code> seront modifiées pour que le premier argument de chaque balise soit une variable de gabarit et non automatiquement une chaîne. Dans 1.4, ce comportement est fourni par une version de la balise dans la bibliothèque de balises de gabarits <code class=\"docutils literal notranslate\"><span class=\"pre\">future</span></code>.</p></li>\n<li><p>Les commandes d’administration <code class=\"docutils literal notranslate\"><span class=\"pre\">reset</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">sqlreset</span></code> seront supprimées.</p></li>\n<li><p>Les moteurs d’authentification devront prendre en charge un utilisateur inactif transmis à toutes les méthodes s’occupant de permissions. L’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_inactive_user</span></code> ne sera plus pris en compte et peut être supprimé de tout moteur personnalisé.</p></li>\n<li><p><a class=\"reference internal\" href=\"/fr/5.0/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry.transform\" title=\"django.contrib.gis.geos.GEOSGeometry.transform\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">transform()</span></code></a> générera une exception <a class=\"reference internal\" href=\"/fr/5.0/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSException\" title=\"django.contrib.gis.geos.GEOSException\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">GEOSException</span></code></a> lorsqu’on lui transmet une géométrie sans valeur de SRID.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.http.CompatCookie</span></code> sera supprimée en faveur de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.http.SimpleCookie</span></code>.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.context_processors.PermWrapper</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.context_processors.PermLookupDict</span></code> seront supprimés en faveur de respectivement <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.context_processors.PermWrapper</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.context_processors.PermLookupDict</span></code>.</p></li>\n<li><p>Les réglages <a class=\"reference internal\" href=\"/fr/5.0/ref/settings/#std-setting-MEDIA_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">MEDIA_URL</span></code></a> et <a class=\"reference internal\" href=\"/fr/5.0/ref/settings/#std-setting-STATIC_URL\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">STATIC_URL</span></code></a> devront obligatoirement se terminer par une barre oblique pour s’assurer que la manière de combiner les chemins dans les gabarits soit harmonisée.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.fields.URLField.verify_exists</span></code> sera supprimée. La fonctionnalité a été rendue obsolète dans 1.3.1 en raison de problèmes de sécurité et de performance insurmontables, et son obsolescence a donc été accélérée.</p></li>\n<li><p>Les traductions situées au niveau du <em>chemin du projet</em> sont ignorées durant le processus de construction des traductions au moment de l’exécution. Le réglage <a class=\"reference internal\" href=\"/fr/5.0/ref/settings/#std-setting-LOCALE_PATHS\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">LOCALE_PATHS</span></code></a> peut être utilisé pour la même tâche en incluant comme valeur le chemin sur le système de fichiers vers un répertoire <code class=\"docutils literal notranslate\"><span class=\"pre\">locale</span></code> contenant des traductions non liées à une application précise.</p></li>\n<li><p>L’application contribuée Markup ne prendra plus en charge les versions de la bibliothèque Python-Markdown plus anciennes que la 2.1. Une obsolescence accélérée a été choisie car il s’agissait d’une obsolescence liée à la sécurité.</p></li>\n<li><p>Le réglage <code class=\"docutils literal notranslate\"><span class=\"pre\">CACHE_BACKEND</span></code> sera supprimé. Les moteurs de cache doivent être indiqués dans le réglage <a class=\"reference internal\" href=\"/fr/5.0/ref/settings/#std-setting-CACHES\"><code class=\"xref std std-setting docutils literal notranslate\"><span class=\"pre\">CACHES</span></code></a>.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-4\">\n<span id=\"id16\"></span><h2>1.4<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-4\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/1.2/#deprecated-features-1-2\"><span class=\"std std-ref\">notes de publication de Django 1.2</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">CsrfResponseMiddleware</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">CsrfMiddleware</span></code> seront supprimés. Utilisez la balise de gabarit <code class=\"docutils literal notranslate\"><span class=\"pre\">{%</span> <span class=\"pre\">csrf_token</span> <span class=\"pre\">%}</span></code> dans les formulaires pour activer la protection CSRF. <code class=\"docutils literal notranslate\"><span class=\"pre\">CsrfViewMiddleware</span></code> est conservée et activée par défaut.</p></li>\n<li><p>Les anciennes importations de fonctionnalité CSRF (<code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.csrf.*</span></code>), qui sont passées dans le cœur Django dans la version 1.2 seront supprimées.</p></li>\n<li><p>Le module <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.gis.db.backend</span></code> sera supprimé en faveur des moteurs spécifiques.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SMTPConnection</span></code> sera supprimée en faveur d’une API générique de moteur de courriels.</p></li>\n<li><p>Les fonctions de génération SQL plusieurs-à-plusieurs des moteurs de base de données seront supprimées.</p></li>\n<li><p>La possibilité d’utiliser la famille de réglages de premier niveau <code class=\"docutils literal notranslate\"><span class=\"pre\">DATABASE_*</span></code> pour définir les connexions de base de données sera supprimée.</p></li>\n<li><p>La possibilité d’utiliser une notation raccourcie pour pointer vers un moteur de base de données (par ex. <code class=\"docutils literal notranslate\"><span class=\"pre\">sqlite3</span></code> au lieu de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.backends.sqlite3</span></code>) sera supprimée.</p></li>\n<li><p>Les méthodes  <code class=\"docutils literal notranslate\"><span class=\"pre\">get_db_prep_save</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">get_db_prep_value</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">get_db_prep_lookup</span></code> devront prendre en charge les bases de données multiples.</p></li>\n<li><p>Le modèle <code class=\"docutils literal notranslate\"><span class=\"pre\">Message</span></code> (dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth</span></code>), son gestionnaire d’objets liés dans le modèle <code class=\"docutils literal notranslate\"><span class=\"pre\">User</span></code> (<code class=\"docutils literal notranslate\"><span class=\"pre\">user.message_set</span></code>) et ses méthodes associées (<code class=\"docutils literal notranslate\"><span class=\"pre\">user.message_set.create()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">user.get_and_delete_messages()</span></code>) seront supprimées. Il est recommandé d’utiliser <a class=\"reference internal\" href=\"/fr/5.0/ref/contrib/messages/\"><span class=\"doc\">l’infrastructure des messages</span></a> à la place. La variable liée <code class=\"docutils literal notranslate\"><span class=\"pre\">messages</span></code> renvoyée par le processeur de contexte <code class=\"docutils literal notranslate\"><span class=\"pre\">auth</span></code> sera également supprimée. Notez que cela signifie que l’application admin va dépendre du processeur de contexte des messages.</p></li>\n<li><p>Les moteurs d’authentification devront prendre en charge le paramètre <code class=\"docutils literal notranslate\"><span class=\"pre\">obj</span></code> pour le contrôle des permissions. L’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_object_permissions</span></code> ne sera plus pris en compte et peut être supprimé de tout moteur personnalisé.</p></li>\n<li><p>Les moteurs d’authentification devront prendre en charge la classe <code class=\"docutils literal notranslate\"><span class=\"pre\">AnonymousUser</span></code> transmise à toutes les méthodes s’occupant de permissions. La variable <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_anonymous_user</span></code> ne sera plus prise en compte et peut être supprimée de tout moteur personnalisé.</p></li>\n<li><p>La possibilité d’indiquer une chargeur de gabarit sous forme d’exécutable plutôt que d’une classe <code class=\"docutils literal notranslate\"><span class=\"pre\">Loader</span></code> sera supprimée, tout comme les fonctions <code class=\"docutils literal notranslate\"><span class=\"pre\">load_template_source</span></code> qui sont incluses avec les chargeurs de gabarits intégrés par rétrocompatibilité.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation.get_date_formats()</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.translation.get_partial_date_formats()</span></code>. Ces fonctions seront supprimées ; utilisez django.utils.formats.get_format()` qui est sensible à la locale active pour obtenir les bons formats.</p></li>\n<li><p>Dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.forms.fields</span></code>, les constantes <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_DATE_INPUT_FORMATS</span></code>, <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_TIME_INPUT_FORMATS</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">DEFAULT_DATETIME_INPUT_FORMATS</span></code> seront supprimées. Utilisez <code class=\"docutils literal notranslate\"><span class=\"pre\">django.utils.formats.get_format()</span></code> pour obtenir les formats appropriés.</p></li>\n<li><p>La possibilité d’utiliser un lanceur de tests basé sur une fonction sera supprimée, de même que le lanceur de tests <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test.simple.run_tests()</span></code>.</p></li>\n<li><p>La vue <code class=\"docutils literal notranslate\"><span class=\"pre\">views.feed()</span></code> et la classe <code class=\"docutils literal notranslate\"><span class=\"pre\">feeds.Feed</span></code> dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.syndication</span></code> seront supprimées. La vue basée sur une classe <code class=\"docutils literal notranslate\"><span class=\"pre\">views.Feed</span></code> doit être utilisée à la place.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.context_processors.auth</span></code>. Cette publication va supprimer l’ancienne méthode en faveur de la nouvelle méthode dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.contrib.auth.context_processors.auth</span></code>.</p></li>\n<li><p>Le moteur de base de données <code class=\"docutils literal notranslate\"><span class=\"pre\">postgresql</span></code> sera supprimé, utilisez à la place le moteur <code class=\"docutils literal notranslate\"><span class=\"pre\">postgresql_psycopg2</span></code>.</p></li>\n<li><p>Le code de langue <code class=\"docutils literal notranslate\"><span class=\"pre\">no</span></code> sera supprimé car il a été remplacé par le code de langue <code class=\"docutils literal notranslate\"><span class=\"pre\">nb</span></code>.</p></li>\n<li><p>Les moteurs d’authentification devront définir l’attribut booléen <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_inactive_user</span></code> jusqu’à la version 1.5 qui considérera comme acquis le fait que tous les moteurs savent gérer les utilisateurs inactifs.</p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.models.fields.XMLField</span></code> sera supprimée. Elle a été rendue obsolète dans la version 1.3. Une obsolescence accélérée a été choisie car ce champ n’avait déjà plus aucune fonction supplémentaire qu’un simple <code class=\"docutils literal notranslate\"><span class=\"pre\">TextField</span></code> depuis la suppression de <code class=\"docutils literal notranslate\"><span class=\"pre\">oldforms</span></code>. Toutes les occurrences de <code class=\"docutils literal notranslate\"><span class=\"pre\">XMLField</span></code> peuvent être remplacées par le type de champ <code class=\"docutils literal notranslate\"><span class=\"pre\">TextField</span></code>.</p></li>\n<li><p>Le paramètre non documenté <code class=\"docutils literal notranslate\"><span class=\"pre\">mixin</span></code> de la méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">open()</span></code> de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.files.storage.Storage</span></code> (et ses sous-classes) sera supprimé.</p></li>\n</ul>\n</section>\n<section id=\"deprecation-removed-in-1-3\">\n<span id=\"id17\"></span><h2>1.3<a class=\"heading-anchor\" href=\"#deprecation-removed-in-1-3\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Consultez les <a class=\"reference internal\" href=\"/fr/5.0/releases/1.1/#deprecated-features-1-1\"><span class=\"std std-ref\">notes de publication de Django 1.1</span></a> pour plus de détails sur ces changements.</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">AdminSite.root()</span></code>. Cette méthode de branchement des URL d’administration sera supprimée en faveur de l’inclusion de <code class=\"docutils literal notranslate\"><span class=\"pre\">admin.site.urls</span></code>.</p></li>\n<li><p>Les moteurs d’authentification doivent définir les attributs booléens <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_object_permissions</span></code> et <code class=\"docutils literal notranslate\"><span class=\"pre\">supports_anonymous_user</span></code> jusqu’à la version 1.4, après quoi Django supposera que tous les moteurs savent gérer ces options.</p></li>\n</ul>\n</section>","rootId":"django-deprecation-timeline","toc":[{"title":"6.0","anchor":"deprecation-removed-in-6-0","children":[]},{"title":"5.1","anchor":"deprecation-removed-in-5-1","children":[]},{"title":"5.0","anchor":"deprecation-removed-in-5-0","children":[]},{"title":"4.1","anchor":"deprecation-removed-in-4-1","children":[]},{"title":"4.0","anchor":"deprecation-removed-in-4-0","children":[]},{"title":"3.1","anchor":"deprecation-removed-in-3-1","children":[]},{"title":"3.0","anchor":"deprecation-removed-in-3-0","children":[]},{"title":"2.1","anchor":"deprecation-removed-in-2-1","children":[]},{"title":"2.0","anchor":"deprecation-removed-in-2-0","children":[]},{"title":"1.10","anchor":"deprecation-removed-in-1-10","children":[]},{"title":"1.9","anchor":"deprecation-removed-in-1-9","children":[]},{"title":"1.8","anchor":"deprecation-removed-in-1-8","children":[]},{"title":"1.7","anchor":"deprecation-removed-in-1-7","children":[]},{"title":"1.6","anchor":"deprecation-removed-in-1-6","children":[]},{"title":"1.5","anchor":"deprecation-removed-in-1-5","children":[]},{"title":"1.4","anchor":"deprecation-removed-in-1-4","children":[]},{"title":"1.3","anchor":"deprecation-removed-in-1-3","children":[]}],"breadcrumbs":[{"docname":"internals/index","title":"Fonctionnement interne du projet Django","url":"/fr/5.0/internals/"}],"prev":{"docname":"internals/release-process","title":"Processus de publication de Django","url":"/fr/5.0/internals/release-process/"},"next":{"docname":"internals/git","title":"Le dépôt de code source de Django","url":"/fr/5.0/internals/git/"},"formats":{"html":"/fr/5.0/internals/deprecation/","markdown":"/fr/5.0/internals/deprecation.md","json":"/fr/5.0/internals/deprecation.json"},"source":"https://github.com/django/django/blob/stable/5.0.x/docs/internals/deprecation.txt","official":"https://docs.djangoproject.com/fr/5.0/internals/deprecation/","inVersions":["6.1","6.0","5.2","5.1","5.0","4.2","4.1","4.0","3.2","3.1","3.0","2.2","2.1","2.0","1.11","1.10","1.9"],"inLocales":["en","zh-hans","fr","ja","id","it","pt-br","ko","es","el","pl"]}