Sommaire

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