En plus des exceptions Python traditionnelles,
Django possède ses propres exceptions réparties
en quatre catégories : celles du noyau Django (core), celles relatives
aux URL, celles relatives aux bases de données et celles
relatives à HTTP.
1. Exceptions de base du noyau Django
Elles sont définies dans django.core.exceptions, et sont les
suivantes :
DoesNotExist
Cette exception est levée lorsqu’une
requête comme get(), devant
retourner un seul objet, échoue et n’en retourne
aucun.
ObjectDoesNotExist
dont la classe de base est DoesNotExist.
MultipleObjectsReturned
Cette exception est levée lorsqu’une
requête comme get(), devant
retourner un seul objet, échoue en retournant plusieurs
objets.
SuspiciousOperation
Cette exception est levée lorsque
Django considère cette opération comme douteuse,
par exemple lors de l’altération d’un
cookie de session. Elle possède plusieurs sous-classes,
permettant de préciser la nature de l’opération
douteuse.
PermissionDenied
Cette exception est levée lorsque
l’utilisateur n’a pas les droits correspondants pour
réaliser une opération.
ViewDoesNotExist
La vue demandée n’existe
pas (écrivez-la).
MiddlewareNotUsed
Cette exception est levée lorsqu’un
middleware précise qu’il n’est pas utilisé.
ImproperlyConfigured
Une erreur de configuration lors de l’utilisation
de Django ...