Sommaire

Les exceptions

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 ...