Les signaux
Django propose un mécanisme très
utile qui est un gestionnaire de signaux. Les signaux sont émis
par un émetteur à destination de récepteurs
qui se sont enregistrés sur le signal. Le récepteur
est une fonction Python. Cela permet d’être informé lorsque
certaines opérations sont réalisées quelque
part dans le framework.
Vous pouvez créer vos propres signaux
pour votre application et Django contient un ensemble de signaux
pour les actions courantes du framework. En voici les principaux :
Les signaux relatifs aux modifications des instances de modèles :
django.db.models.signals.pre_save et django.db.models.signals.post_save
Qui sont des signaux respectivement activés
avant et après l’appel à la méthode save().
django.db.models.signals.pre_delete et django.db.models.signals.post_delete
Qui sont des signaux respectivement activés
avant et après l’appel à la méthode delete() d’une instance
ou d’un QuerySet.
django.db.models.signals.pre_init et django.db.models.signals.post_init
Qui sont des signaux respectivement activés
avant et après la création d’une instance.
django.db.models.signals.m2m_changed
Qui est activé lorsqu’un
champ ManyToManyField est modifié.
Les signaux relatifs aux requêtes :
django.core.signals.request_started et django.core.signals.request_finished
Qui sont activés avant que Django
débute ...