{"title":"Exceptions de Django","version":"1.10","locale":"fr","docname":"ref/exceptions","url":"/fr/1.10/ref/exceptions/","canonical":"https://djangodocs.dev/fr/1.10/ref/exceptions/","summary":"Django peut aussi bien générer des exceptions qu’il définit lui-même que des exceptions Python standards. Exceptions principales de Django Lien vers cette rubrique…","html":"<h1>Exceptions de Django<a class=\"heading-anchor\" href=\"#django-exceptions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h1>\n<p>Django peut aussi bien générer des exceptions qu’il définit lui-même que des exceptions Python standards.</p>\n<section id=\"module-django.core.exceptions\">\n<span id=\"django-core-exceptions\"></span><h2>Exceptions principales de Django<a class=\"heading-anchor\" href=\"#module-django.core.exceptions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Les classes d’exception de base de Django sont définies dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.exceptions</span></code>.</p>\n<section id=\"appregistrynotready\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">AppRegistryNotReady</span></code><a class=\"heading-anchor\" href=\"#appregistrynotready\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.AppRegistryNotReady\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">AppRegistryNotReady</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.AppRegistryNotReady\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>Cette exception est générée lorsqu’on essaie d’utiliser des modèles avant que le <a class=\"reference internal\" href=\"/fr/1.10/ref/applications/#app-loading-process\"><span class=\"std std-ref\">processus de chargement des applications</span></a>, qui initialise l’ORM, soit terminé.</p>\n</dd></dl>\n\n</section>\n<section id=\"objectdoesnotexist\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ObjectDoesNotExist</span></code><a class=\"heading-anchor\" href=\"#objectdoesnotexist\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.ObjectDoesNotExist\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ObjectDoesNotExist</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.ObjectDoesNotExist\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>La classe de base des exceptions <a class=\"reference internal\" href=\"/fr/1.10/ref/models/instances/#django.db.models.Model.DoesNotExist\" title=\"django.db.models.Model.DoesNotExist\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">DoesNotExist</span></code></a>; une clause <code class=\"docutils literal notranslate\"><span class=\"pre\">try/except</span></code> avec <code class=\"docutils literal notranslate\"><span class=\"pre\">ObjectDoesNotExist</span></code> intercepte les exceptions <a class=\"reference internal\" href=\"/fr/1.10/ref/models/instances/#django.db.models.Model.DoesNotExist\" title=\"django.db.models.Model.DoesNotExist\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">DoesNotExist</span></code></a> de tous les modèles.</p>\n<p>Consultez <a class=\"reference internal\" href=\"/fr/1.10/ref/models/querysets/#django.db.models.query.QuerySet.get\" title=\"django.db.models.query.QuerySet.get\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get()</span></code></a> pour plus d’informations sur les exceptions <a class=\"reference internal\" href=\"#django.core.exceptions.ObjectDoesNotExist\" title=\"django.core.exceptions.ObjectDoesNotExist\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">ObjectDoesNotExist</span></code></a> et <a class=\"reference internal\" href=\"/fr/1.10/ref/models/instances/#django.db.models.Model.DoesNotExist\" title=\"django.db.models.Model.DoesNotExist\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">DoesNotExist</span></code></a>.</p>\n</dd></dl>\n\n</section>\n<section id=\"fielddoesnotexist\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">FieldDoesNotExist</span></code><a class=\"heading-anchor\" href=\"#fielddoesnotexist\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.FieldDoesNotExist\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">FieldDoesNotExist</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.FieldDoesNotExist\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <code class=\"docutils literal notranslate\"><span class=\"pre\">FieldDoesNotExist</span></code> est produite par une méthode <code class=\"docutils literal notranslate\"><span class=\"pre\">_meta.get_field()</span></code> d’un modèle lorsque le champ demandé n’existe pas dans le modèle, ni dans les parents du modèle.</p>\n</dd></dl>\n\n</section>\n<section id=\"multipleobjectsreturned\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">MultipleObjectsReturned</span></code><a class=\"heading-anchor\" href=\"#multipleobjectsreturned\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.MultipleObjectsReturned\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">MultipleObjectsReturned</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.MultipleObjectsReturned\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.core.exceptions.MultipleObjectsReturned\" title=\"django.core.exceptions.MultipleObjectsReturned\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">MultipleObjectsReturned</span></code></a> est générée par une requête lorsqu’un seul objet est attendu mais que la requête renvoie plusieurs objets. Une version de base de cette exception se trouve dans <a class=\"reference internal\" href=\"#module-django.core.exceptions\" title=\"django.core.exceptions: Django core exceptions\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.core.exceptions</span></code></a>; chaque classe de modèle contient une version héritant de cette exception permettant d’identifier précisément le type d’objets renvoyés à plusieurs.</p>\n<p>Voir <a class=\"reference internal\" href=\"/fr/1.10/ref/models/querysets/#django.db.models.query.QuerySet.get\" title=\"django.db.models.query.QuerySet.get\"><code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">get()</span></code></a> pour plus d’informations.</p>\n</dd></dl>\n\n</section>\n<section id=\"suspiciousoperation\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code><a class=\"heading-anchor\" href=\"#suspiciousoperation\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.SuspiciousOperation\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">SuspiciousOperation</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.SuspiciousOperation\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.core.exceptions.SuspiciousOperation\" title=\"django.core.exceptions.SuspiciousOperation\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code></a> est générée lorsqu’un utilisateur effectue une opération considérée comme douteuse selon des critères de sécurité, comme lors de manipulations d’un cookie de session. Les sous-classes de <code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code> comprennent :</p>\n<ul class=\"simple\">\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">DisallowedHost</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">DisallowedModelAdminLookup</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">DisallowedModelAdminToField</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">DisallowedRedirect</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">InvalidSessionKey</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">RequestDataTooBig</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousFileOperation</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousMultipartForm</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousSession</span></code></p></li>\n<li><p><code class=\"docutils literal notranslate\"><span class=\"pre\">TooManyFieldsSent</span></code></p></li>\n</ul>\n<p>Si une exception <code class=\"docutils literal notranslate\"><span class=\"pre\">SuspiciousOperation</span></code> atteint le niveau du gestionnaire WSGI, elle est journalisée au niveau <code class=\"docutils literal notranslate\"><span class=\"pre\">Error</span></code> et produit une exception <a class=\"reference internal\" href=\"/fr/1.10/ref/request-response/#django.http.HttpResponseBadRequest\" title=\"django.http.HttpResponseBadRequest\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">HttpResponseBadRequest</span></code></a>. Consultez la <a class=\"reference internal\" href=\"/fr/1.10/topics/logging/\"><span class=\"doc\">documentation de la journalisation</span></a> pour plus d’informations.</p>\n</dd></dl>\n\n</section>\n<section id=\"permissiondenied\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">PermissionDenied</span></code><a class=\"heading-anchor\" href=\"#permissiondenied\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.PermissionDenied\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">PermissionDenied</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.PermissionDenied\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.core.exceptions.PermissionDenied\" title=\"django.core.exceptions.PermissionDenied\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">PermissionDenied</span></code></a> est générée lorsqu’un utilisateur ne possède pas la permission d’effectuer l’action demandée.</p>\n</dd></dl>\n\n</section>\n<section id=\"viewdoesnotexist\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ViewDoesNotExist</span></code><a class=\"heading-anchor\" href=\"#viewdoesnotexist\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.ViewDoesNotExist\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ViewDoesNotExist</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.ViewDoesNotExist\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.core.exceptions.ViewDoesNotExist\" title=\"django.core.exceptions.ViewDoesNotExist\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">ViewDoesNotExist</span></code></a> est générée par <a class=\"reference internal\" href=\"/fr/1.10/ref/urlresolvers/#module-django.urls\" title=\"django.urls\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.urls</span></code></a> lorsqu’une vue demandée n’existe pas.</p>\n</dd></dl>\n\n</section>\n<section id=\"middlewarenotused\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">MiddlewareNotUsed</span></code><a class=\"heading-anchor\" href=\"#middlewarenotused\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.MiddlewareNotUsed\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">MiddlewareNotUsed</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.MiddlewareNotUsed\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.core.exceptions.MiddlewareNotUsed\" title=\"django.core.exceptions.MiddlewareNotUsed\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">MiddlewareNotUsed</span></code></a> est générée lorsqu’un middleware n’est pas utilisé dans la configuration du serveur.</p>\n</dd></dl>\n\n</section>\n<section id=\"improperlyconfigured\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ImproperlyConfigured</span></code><a class=\"heading-anchor\" href=\"#improperlyconfigured\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.ImproperlyConfigured\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ImproperlyConfigured</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.ImproperlyConfigured\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.core.exceptions.ImproperlyConfigured\" title=\"django.core.exceptions.ImproperlyConfigured\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">ImproperlyConfigured</span></code></a> est générée lorsque la configuration de Django contient une erreur, par exemple si une valeur de <code class=\"docutils literal notranslate\"><span class=\"pre\">settings.py</span></code> n’est pas correcte ou ne peut pas être lue correctement.</p>\n</dd></dl>\n\n</section>\n<section id=\"fielderror\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">FieldError</span></code><a class=\"heading-anchor\" href=\"#fielderror\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.FieldError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">FieldError</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.FieldError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.core.exceptions.FieldError\" title=\"django.core.exceptions.FieldError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">FieldError</span></code></a> est générée lorsqu’il y a un problème avec un champ de modèle. Ceci peut arriver pour plusieurs raisons :</p>\n<ul class=\"simple\">\n<li><p>Un champ de modèle est en conflit avec un champ de même nom provenant d’une classe de base abstraite.</p></li>\n<li><p>Un ordre de tri provoque une boucle sans fin.</p></li>\n<li><p>Un mot-clé ne peut pas être lu dans les paramètres d’un filtre.</p></li>\n<li><p>Il n’est pas possible de faire correspondre un paramètre nommé d’une requête avec un champ.</p></li>\n<li><p>Une jointure n’est pas autorisée sur le champ indiqué.</p></li>\n<li><p>Un nom de champ n’est pas valide.</p></li>\n<li><p>Une requête contient des paramètres <code class=\"docutils literal notranslate\"><span class=\"pre\">order_by</span></code> non conformes.</p></li>\n</ul>\n</dd></dl>\n\n</section>\n<section id=\"validationerror\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">ValidationError</span></code><a class=\"heading-anchor\" href=\"#validationerror\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.ValidationError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ValidationError</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.ValidationError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.core.exceptions.ValidationError\" title=\"django.core.exceptions.ValidationError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">ValidationError</span></code></a> est générée lorsque des données font échouer la validation de formulaire ou de champ de modèle. Pour plus d’informations sur la validation, consultez <a class=\"reference internal\" href=\"/fr/1.10/ref/forms/validation/\"><span class=\"doc\">Validation des formulaires et des champs</span></a>, <a class=\"reference internal\" href=\"/fr/1.10/ref/models/instances/#validating-objects\"><span class=\"std std-ref\">Validation des champs de modèle</span></a> et <a class=\"reference internal\" href=\"/fr/1.10/ref/validators/\"><span class=\"doc\">Référence de la validation</span></a>.</p>\n</dd></dl>\n\n<section id=\"non-field-errors\">\n<h4><code class=\"docutils literal notranslate\"><span class=\"pre\">NON_FIELD_ERRORS</span></code><a class=\"heading-anchor\" href=\"#non-field-errors\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h4>\n<dl class=\"py data\">\n<dt class=\"sig sig-object py\" id=\"django.core.exceptions.NON_FIELD_ERRORS\">\n<span class=\"sig-name descname\"><span class=\"pre\">NON_FIELD_ERRORS</span></span><a class=\"heading-anchor\" href=\"#django.core.exceptions.NON_FIELD_ERRORS\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Les exceptions <code class=\"docutils literal notranslate\"><span class=\"pre\">ValidationError</span></code> qui ne sont pas liées à un champ particulier d’un formulaire ou d’un modèle sont classées comme <code class=\"docutils literal notranslate\"><span class=\"pre\">NON_FIELD_ERRORS</span></code>. Cette constante est utilisée comme clé dans des dictionnaires qui habituellement font correspondre des champs à leur liste d’erreurs respective.</p>\n</section>\n</section>\n</section>\n<section id=\"url-resolver-exceptions\">\n<h2>Exceptions du résolveur d’URL<a class=\"heading-anchor\" href=\"#url-resolver-exceptions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Les exceptions du résolveur d’URL sont définies dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.urls</span></code>.</p>\n<aside class=\"version-note version-deprecated\" data-version=\"1.10\">\n<p class=\"version-note-title\">Deprecated since Django 1.10</p><p><span class=\"versionmodified deprecated\">Obsolète depuis la version 1.10: </span>Dans les versions précédentes, ces exceptions se trouvaient dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.core.urlresolvers</span></code>. L’importation à partir de l’ancien emplacement continuera à fonctionner jusqu’à Django 2.0.</p>\n</aside>\n<section id=\"resolver404\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">Resolver404</span></code><a class=\"heading-anchor\" href=\"#resolver404\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.urls.Resolver404\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Resolver404</span></span><a class=\"heading-anchor\" href=\"#django.urls.Resolver404\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.urls.Resolver404\" title=\"django.urls.Resolver404\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">Resolver404</span></code></a> est générée par <a class=\"reference internal\" href=\"/fr/1.10/ref/urlresolvers/#django.urls.resolve\" title=\"django.urls.resolve\"><code class=\"xref py py-func docutils literal notranslate\"><span class=\"pre\">django.urls.resolve()</span></code></a> si le chemin transmis à <code class=\"docutils literal notranslate\"><span class=\"pre\">resolve()</span></code> ne correspond à aucune vue. C’est une sous-classe de <a class=\"reference internal\" href=\"/fr/1.10/topics/http/views/#django.http.Http404\" title=\"django.http.Http404\"><code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">django.http.Http404</span></code></a>.</p>\n</dd></dl>\n\n</section>\n<section id=\"noreversematch\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">NoReverseMatch</span></code><a class=\"heading-anchor\" href=\"#noreversematch\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.urls.NoReverseMatch\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">NoReverseMatch</span></span><a class=\"heading-anchor\" href=\"#django.urls.NoReverseMatch\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.urls.NoReverseMatch\" title=\"django.urls.NoReverseMatch\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">NoReverseMatch</span></code></a> est générée par <a class=\"reference internal\" href=\"/fr/1.10/ref/urlresolvers/#module-django.urls\" title=\"django.urls\"><code class=\"xref py py-mod docutils literal notranslate\"><span class=\"pre\">django.urls</span></code></a> lorsqu’aucune URL contenue dans votre configuration d’URL ne correspond aux paramètres fournis.</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"database-exceptions\">\n<h2>Exceptions de base de données<a class=\"heading-anchor\" href=\"#database-exceptions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Les exceptions de base de données peuvent être importées à partir de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db</span></code>.</p>\n<p>Django adapte les exceptions de base de données standard afin que votre code Django puisse compter sur une implémentation commune de ces classes.</p>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.db.Error\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">Error</span></span><a class=\"heading-anchor\" href=\"#django.db.Error\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.db.InterfaceError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">InterfaceError</span></span><a class=\"heading-anchor\" href=\"#django.db.InterfaceError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.db.DatabaseError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">DatabaseError</span></span><a class=\"heading-anchor\" href=\"#django.db.DatabaseError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.db.DataError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">DataError</span></span><a class=\"heading-anchor\" href=\"#django.db.DataError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.db.OperationalError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">OperationalError</span></span><a class=\"heading-anchor\" href=\"#django.db.OperationalError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.db.IntegrityError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">IntegrityError</span></span><a class=\"heading-anchor\" href=\"#django.db.IntegrityError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.db.InternalError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">InternalError</span></span><a class=\"heading-anchor\" href=\"#django.db.InternalError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.db.ProgrammingError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">ProgrammingError</span></span><a class=\"heading-anchor\" href=\"#django.db.ProgrammingError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.db.NotSupportedError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">NotSupportedError</span></span><a class=\"heading-anchor\" href=\"#django.db.NotSupportedError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Les adaptateurs Django de ces exceptions de base de données se comportent exactement de la même manière que leurs exceptions sous-jacentes. Consultez la <span class=\"target\" id=\"index-6\"></span><a class=\"pep reference external\" href=\"https://peps.python.org/pep-0249/\"><strong>PEP 249</strong></a>, la version 2.0 de la spécification Python d’API de base de données,  pour de plus amples informations.</p>\n<p>Se conformant à <span class=\"target\" id=\"index-7\"></span><a class=\"pep reference external\" href=\"https://peps.python.org/pep-3134/\"><strong>PEP 3134</strong></a>, un attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">__cause__</span></code> est défini avec l’exception de base de données sous-jacente, permettant ainsi d’avoir accès à d’éventuelles informations complémentaires (notez que cet attribut est disponible aussi bien avec Python 2 que Python 3, même si <span class=\"target\" id=\"index-8\"></span><a class=\"pep reference external\" href=\"https://peps.python.org/pep-3134/\"><strong>PEP 3134</strong></a> ne s’applique normalement qu’à Python 3). Afin d’éviter des différences inattendues avec Python 3, Django s’assure également que l’exception rendue disponible via <code class=\"docutils literal notranslate\"><span class=\"pre\">__cause__</span></code> possède un attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">__traceback__</span></code> exploitable.</p>\n<aside class=\"version-note version-changed\" data-version=\"1.10\">\n<p class=\"version-note-title\">Changed in Django 1.10</p><p>L’attribut <code class=\"docutils literal notranslate\"><span class=\"pre\">__traceback__</span></code> décrit ci-dessus a été ajouté.</p>\n</aside>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.db.models.ProtectedError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">models.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ProtectedError</span></span><a class=\"heading-anchor\" href=\"#django.db.models.ProtectedError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd></dd></dl>\n\n<p>Cette exception est générée pour empêcher la suppression d’objets référencés lors de l’utilisation de <a class=\"reference internal\" href=\"/fr/1.10/ref/models/fields/#django.db.models.PROTECT\" title=\"django.db.models.PROTECT\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">django.db.models.PROTECT</span></code></a>. <a class=\"reference internal\" href=\"#django.db.models.ProtectedError\" title=\"django.db.models.ProtectedError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">models.ProtectedError</span></code></a> est une sous-classe de <a class=\"reference internal\" href=\"#django.db.IntegrityError\" title=\"django.db.IntegrityError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">IntegrityError</span></code></a>.</p>\n</section>\n<section id=\"http-exceptions\">\n<h2>Exceptions Http<a class=\"heading-anchor\" href=\"#http-exceptions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Les exceptions HTTP peuvent être importées à partir de <code class=\"docutils literal notranslate\"><span class=\"pre\">django.http</span></code>.</p>\n<section id=\"unreadableposterror\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">UnreadablePostError</span></code><a class=\"heading-anchor\" href=\"#unreadableposterror\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.http.UnreadablePostError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">UnreadablePostError</span></span><a class=\"heading-anchor\" href=\"#django.http.UnreadablePostError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.http.UnreadablePostError\" title=\"django.http.UnreadablePostError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">UnreadablePostError</span></code></a> est générée lorsqu’un utilisateur annule un envoi de fichier.</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"transaction-exceptions\">\n<h2>Exceptions de transaction<a class=\"heading-anchor\" href=\"#transaction-exceptions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Les exceptions de transactions sont définies dans <code class=\"docutils literal notranslate\"><span class=\"pre\">django.db.transaction</span></code>.</p>\n<section id=\"transactionmanagementerror\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">TransactionManagementError</span></code><a class=\"heading-anchor\" href=\"#transactionmanagementerror\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.db.transaction.TransactionManagementError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-name descname\"><span class=\"pre\">TransactionManagementError</span></span><a class=\"heading-anchor\" href=\"#django.db.transaction.TransactionManagementError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.db.transaction.TransactionManagementError\" title=\"django.db.transaction.TransactionManagementError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">TransactionManagementError</span></code></a> est générée lors de tout problème survenant en lien avec les transactions de bases de données.</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"testing-framework-exceptions\">\n<h2>Exceptions de l’infrastructure de test<a class=\"heading-anchor\" href=\"#testing-framework-exceptions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Exceptions définies dans le paquet <code class=\"docutils literal notranslate\"><span class=\"pre\">django.test</span></code>.</p>\n<section id=\"redirectcycleerror\">\n<h3><code class=\"docutils literal notranslate\"><span class=\"pre\">RedirectCycleError</span></code><a class=\"heading-anchor\" href=\"#redirectcycleerror\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h3>\n<dl class=\"py exception\">\n<dt class=\"sig sig-object py\" id=\"django.test.client.RedirectCycleError\">\n<em class=\"property\"><span class=\"k\"><span class=\"pre\">exception</span></span><span class=\"w\"> </span></em><span class=\"sig-prename descclassname\"><span class=\"pre\">client.</span></span><span class=\"sig-name descname\"><span class=\"pre\">RedirectCycleError</span></span><a class=\"heading-anchor\" href=\"#django.test.client.RedirectCycleError\"><span class=\"visually-hidden\">Lien vers cette définition</span><span aria-hidden=\"true\">#</span></a></dt>\n<dd><p>L’exception <a class=\"reference internal\" href=\"#django.test.client.RedirectCycleError\" title=\"django.test.client.RedirectCycleError\"><code class=\"xref py py-exc docutils literal notranslate\"><span class=\"pre\">RedirectCycleError</span></code></a> est générée lorsque le client de test détecte une boucle ou une chaîne de redirection trop longue.</p>\n</dd></dl>\n\n</section>\n</section>\n<section id=\"python-exceptions\">\n<h2>Exceptions Python<a class=\"heading-anchor\" href=\"#python-exceptions\"><span class=\"visually-hidden\">Lien vers cette rubrique</span><span aria-hidden=\"true\">#</span></a></h2>\n<p>Django génère également des exceptions intégrées de Python le cas échéant. Consultez la documentation de Python pour plus d’informations concernant les <a class=\"reference external\" href=\"https://docs.python.org/3/library/exceptions.html#bltin-exceptions\" title=\"(disponible dans Python v3.14)\"><span>Built-in Exceptions</span></a>.</p>\n</section>","rootId":"django-exceptions","toc":[{"title":"Exceptions principales de Django","anchor":"module-django.core.exceptions","children":[{"title":"AppRegistryNotReady","anchor":"appregistrynotready","children":[]},{"title":"ObjectDoesNotExist","anchor":"objectdoesnotexist","children":[]},{"title":"FieldDoesNotExist","anchor":"fielddoesnotexist","children":[]},{"title":"MultipleObjectsReturned","anchor":"multipleobjectsreturned","children":[]},{"title":"SuspiciousOperation","anchor":"suspiciousoperation","children":[]},{"title":"PermissionDenied","anchor":"permissiondenied","children":[]},{"title":"ViewDoesNotExist","anchor":"viewdoesnotexist","children":[]},{"title":"MiddlewareNotUsed","anchor":"middlewarenotused","children":[]},{"title":"ImproperlyConfigured","anchor":"improperlyconfigured","children":[]},{"title":"FieldError","anchor":"fielderror","children":[]},{"title":"ValidationError","anchor":"validationerror","children":[{"title":"NON_FIELD_ERRORS","anchor":"non-field-errors","children":[]}]}]},{"title":"Exceptions du résolveur d’URL","anchor":"url-resolver-exceptions","children":[{"title":"Resolver404","anchor":"resolver404","children":[]},{"title":"NoReverseMatch","anchor":"noreversematch","children":[]}]},{"title":"Exceptions de base de données","anchor":"database-exceptions","children":[]},{"title":"Exceptions Http","anchor":"http-exceptions","children":[{"title":"UnreadablePostError","anchor":"unreadableposterror","children":[]}]},{"title":"Exceptions de transaction","anchor":"transaction-exceptions","children":[{"title":"TransactionManagementError","anchor":"transactionmanagementerror","children":[]}]},{"title":"Exceptions de l’infrastructure de test","anchor":"testing-framework-exceptions","children":[{"title":"RedirectCycleError","anchor":"redirectcycleerror","children":[]}]},{"title":"Exceptions Python","anchor":"python-exceptions","children":[]}],"breadcrumbs":[{"docname":"ref/index","title":"Référence de l’API","url":"/fr/1.10/ref/"}],"prev":{"docname":"ref/django-admin","title":"django-admin et manage.py","url":"/fr/1.10/ref/django-admin/"},"next":{"docname":"ref/files/index","title":"Gestion des fichiers","url":"/fr/1.10/ref/files/"},"formats":{"html":"/fr/1.10/ref/exceptions/","markdown":"/fr/1.10/ref/exceptions.md","json":"/fr/1.10/ref/exceptions.json"},"source":"https://github.com/django/django/blob/stable/1.10.x/docs/ref/exceptions.txt","official":"https://docs.djangoproject.com/fr/1.10/ref/exceptions/","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","fr","ja","id","pt-br","es","el","pl"]}