Les signaux avec Django

Comme souvent les choses les plus simples sont mal expliquées. J’ai pris trop de temps pour apprendre le fonctionnement des signaux sous Django malgré la simplicité de ceux-ci. N’ayant trouvé que des exemples partiels et mal expliqués, je vous propose donc un exemple minimal de la création et de l’utilisation d’un signal avec Django.

Pour la suite de cet exemple on va supposer que l’application dans laquelle nous créons et utilisons nos signaux s’appelle “NameApp”.

Dans un premier temps, créons un nouveau signal et un récepteur pour le signal dans le fichier signals.py:

Nous créons ensuite un simple test pour pouvoir vérifier si tout fonctionnera correctement. Dans le ficher test.py ajoutez:

Si vous testez votre code juste après cette étape (avec “python manage.py test”) vous devriez avoir une erreur. En effet votre application utilise une configuration par défaut qui ne gère pas les signaux. Il faut créer une nouvelle configuration permettant d’utiliser des signaux dans le ficher apps.py:

Il suffit ensuite de “dire à Django” d’utiliser la configuration que nous venons de créer. Pour cela il suffit d’ajouter une ligne dans le ficher __init__.py:

Et voilà, c’est fait, vous avez un signal et un récepteur fonctionnel. Vous pouvez le vérifier en relançant le test.

Les signaux avec Django par La Réponse est 42 est sous Licence Creative Commons Internationale Attribution-Partage à l'identique 4.0.

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *