Exceptions de DjangoLien vers cette rubrique

Django peut aussi bien générer des exceptions qu’il définit lui-même que des exceptions Python standards.

Exceptions principales de DjangoLien vers cette rubrique

Les classes d’exception de base de Django sont définies dans django.core.exceptions.

AppRegistryNotReadyLien vers cette rubrique

exception AppRegistryNotReadyLien vers cette définition

Cette exception est générée lorsqu’on essaie d’utiliser des modèles avant que le processus de chargement des applications, qui initialise l’ORM, soit terminé.

ObjectDoesNotExistLien vers cette rubrique

exception ObjectDoesNotExistLien vers cette définition

La classe de base des exceptions Model.DoesNotExist. Une clause try/except avec ObjectDoesNotExist intercepte les exceptions DoesNotExist de tous les modèles.

Voir get().

ObjectNotUpdatedLien vers cette rubrique

exception ObjectNotUpdatedLien vers cette définition

La classe de base des exceptions Model.NotUpdated. Une clause try/except avec ObjectNotUpdated intercepte les exceptions NotUpdated de tous les modèles.

Voir save().

EmptyResultSetLien vers cette rubrique

exception EmptyResultSetLien vers cette définition

EmptyResultSet peut être généré durant la construction de la requête si celle-ci ne renvoie aucun résultat. La plupart des projets Django ne rencontreront pas cette exception, mais elle peut être utile pour implémenter des interrogations ou des expressions personnalisées.

FullResultSetLien vers cette rubrique

exception FullResultSetLien vers cette définition

FullResultSet peut être généré durant la construction de la requête si celle-ci renverra la totalité. La plupart des projets Django ne rencontreront pas cette exception, mais elle peut être utile pour implémenter des interrogations ou des expressions personnalisées.

FieldDoesNotExistLien vers cette rubrique

exception FieldDoesNotExistLien vers cette définition

L’exception FieldDoesNotExist est produite par une méthode _meta.get_field() d’un modèle lorsque le champ demandé n’existe pas dans le modèle, ni dans les parents du modèle.

MultipleObjectsReturnedLien vers cette rubrique

exception MultipleObjectsReturnedLien vers cette définition

La classe de base des exceptions Model.MultipleObjectsReturned. Une clause try/except avec MultipleObjectsReturned intercepte les exceptions MultipleObjectsReturned de tous les modèles.

Voir get().

SuspiciousOperationLien vers cette rubrique

exception SuspiciousOperationLien vers cette définition

L’exception SuspiciousOperation 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 SuspiciousOperation comprennent :

  • DisallowedHost

  • DisallowedModelAdminLookup

  • DisallowedModelAdminToField

  • DisallowedRedirect

  • InvalidSessionKey

  • RequestDataTooBig

  • SuspiciousFileOperation

  • SuspiciousMultipartForm

  • SuspiciousSession

  • TooManyFieldsSent

  • TooManyFilesSent

Si une exception SuspiciousOperation atteint le niveau du gestionnaire ASGI/WSGI, elle est journalisée au niveau Error et produit une exception HttpResponseBadRequest. Consultez la documentation de la journalisation pour plus d’informations.

PermissionDeniedLien vers cette rubrique

exception PermissionDeniedLien vers cette définition

L’exception PermissionDenied est générée lorsqu’un utilisateur ne possède pas la permission d’effectuer l’action demandée.

ViewDoesNotExistLien vers cette rubrique

exception ViewDoesNotExistLien vers cette définition

L’exception ViewDoesNotExist est générée par django.urls lorsqu’une vue demandée n’existe pas.

MiddlewareNotUsedLien vers cette rubrique

exception MiddlewareNotUsedLien vers cette définition

L’exception MiddlewareNotUsed est générée lorsqu’un middleware n’est pas utilisé dans la configuration du serveur.

ImproperlyConfiguredLien vers cette rubrique

exception ImproperlyConfiguredLien vers cette définition

L’exception ImproperlyConfigured est générée lorsque la configuration de Django contient une erreur, par exemple si une valeur de settings.py n’est pas correcte ou ne peut pas être lue correctement.

FieldErrorLien vers cette rubrique

exception FieldErrorLien vers cette définition

L’exception FieldError est générée lorsqu’il y a un problème avec un champ de modèle. Ceci peut arriver pour plusieurs raisons :

  • Un champ de modèle est en conflit avec un champ de même nom provenant d’une classe de base abstraite.

  • Un ordre de tri provoque une boucle sans fin.

  • Un mot-clé ne peut pas être lu dans les paramètres d’un filtre.

  • Il n’est pas possible de faire correspondre un paramètre nommé d’une requête avec un champ.

  • Une jointure n’est pas autorisée sur le champ indiqué.

  • Un nom de champ n’est pas valide.

  • Une requête contient des paramètres order_by non conformes.

FieldFetchBlockedLien vers cette rubrique

exception FieldFetchBlockedLien vers cette définition

Raised when a field would be fetched on-demand and the FETCH_RAISE fetch mode is active.

ValidationErrorLien vers cette rubrique

exception ValidationErrorLien vers cette définition

L’exception ValidationError 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 Validation des formulaires et des champs, Validation des champs de modèle et Référence de la validation.

NON_FIELD_ERRORSLien vers cette rubrique

NON_FIELD_ERRORSLien vers cette définition

Les exceptions ValidationError qui ne sont pas liées à un champ particulier d’un formulaire ou d’un modèle sont classées comme NON_FIELD_ERRORS. Cette constante est utilisée comme clé dans des dictionnaires qui habituellement font correspondre des champs à leur liste d’erreurs respective.

BadRequestLien vers cette rubrique

exception BadRequestLien vers cette définition

L’exception BadRequest est générée lorsque la requête ne peut pas être traitée en raison d’une erreur du client. Si une exception BadRequest atteint le niveau du traitement ASGI/WSGI, cela produit une réponse HttpResponseBadRequest.

RequestAbortedLien vers cette rubrique

exception RequestAbortedLien vers cette définition

L’exception RequestAborted est produite lorsqu’un corps de requête HTTP en cours de lecture par le gestionnaire est interrompu prématurément et que la connexion cliente est fermée, ou quand le client n’envoie pas de données et dépasse le délai après lequel le serveur coupe la connexion.

Elle est interne aux modules de gestion HTTP et il est rare de la voir ailleurs. SI vous modifiez du code de gestion HTTP, vous devriez générer cette exception lorsque vous êtes confronté à une requête interrompue pour être sûr que le connecteur soit proprement fermé.

SynchronousOnlyOperationLien vers cette rubrique

exception SynchronousOnlyOperationLien vers cette définition

L’exception SynchronousOnlyOperation est générée lorsque du code qui n’est autorisé que dans un contexte de code Python synchrone est appelé à partir d’un contexte asynchrone (un fil d’exécution avec une boucle événementielle asynchrone en cours). Ces parties de Django sont généralement fortement dépendantes de l’isolation des fils d’exécution pour fonctionner et ne fonctionnent pas correctement avec des coroutines qui partagent un même fil d’exécution.

Si vous essayez d’appeler du code qui est purement synchrone à partir d’un fil d’exécution asynchrone, créez un fil d’exécution synchrone et appelez ce code depuis là. Ceci peut se faire à l’aide de asgiref.sync.sync_to_async().

Exceptions du résolveur d’URLLien vers cette rubrique

Les exceptions du résolveur d’URL sont définies dans django.urls.

Resolver404Lien vers cette rubrique

exception Resolver404Lien vers cette définition

L’exception Resolver404 est générée par django.urls.resolve() si le chemin transmis à resolve() ne correspond à aucune vue. C’est une sous-classe de django.http.Http404.

NoReverseMatchLien vers cette rubrique

exception NoReverseMatchLien vers cette définition

L’exception NoReverseMatch est générée par django.urls lorsqu’aucune URL contenue dans votre configuration d’URL ne correspond aux paramètres fournis.

Exceptions de base de donnéesLien vers cette rubrique

Les exceptions de base de données peuvent être importées à partir de django.db.

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.

exception ErrorLien vers cette définition
exception InterfaceErrorLien vers cette définition
exception DatabaseErrorLien vers cette définition
exception DataErrorLien vers cette définition
exception OperationalErrorLien vers cette définition
exception IntegrityErrorLien vers cette définition
exception InternalErrorLien vers cette définition
exception ProgrammingErrorLien vers cette définition
exception NotSupportedErrorLien vers cette définition

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 PEP 249, la version 2.0 de la spécification Python d’API de base de données, pour de plus amples informations.

A __cause__ attribute is set with the original (underlying) database exception, allowing access to any additional information provided.

exception models.ProtectedErrorLien vers cette définition

Cette exception est générée pour empêcher la suppression d’objets référencés lors de l’utilisation de django.db.models.PROTECT. models.ProtectedError est une sous-classe de IntegrityError.

exception models.RestrictedErrorLien vers cette définition

Cette exception est générée pour empêcher la suppression d’objets référencés lors de l’utilisation de django.db.models.RESTRICT. models.RestrictedError est une sous-classe de IntegrityError.

Exceptions HTTPLien vers cette rubrique

Les exceptions HTTP peuvent être importées à partir de django.http.

UnreadablePostErrorLien vers cette rubrique

exception UnreadablePostErrorLien vers cette définition

L’exception UnreadablePostError est générée lorsqu’un utilisateur annule un envoi de fichier.

Exceptions de sessionLien vers cette rubrique

Les exceptions de sessions sont définies dans django.contrib.sessions.exceptions.

SessionInterruptedLien vers cette rubrique

exception SessionInterruptedLien vers cette définition

SessionInterrupted est générée lorsqu’une session est supprimée dans une requête concurrente. Il s’agit d’une sous-classe de BadRequest.

Exceptions de transactionLien vers cette rubrique

Les exceptions de transactions sont définies dans django.db.transaction.

TransactionManagementErrorLien vers cette rubrique

exception TransactionManagementErrorLien vers cette définition

L’exception TransactionManagementError est générée lors de tout problème survenant en lien avec les transactions de bases de données.

Exceptions de l’infrastructure de testLien vers cette rubrique

Exceptions définies dans le paquet django.test.

RedirectCycleErrorLien vers cette rubrique

exception client.RedirectCycleErrorLien vers cette définition

L’exception RedirectCycleError est générée lorsque le client de test détecte une boucle ou une chaîne de redirection trop longue.

Exceptions PythonLien vers cette rubrique

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 Built-in Exceptions.