Sygnały to implementacja wzorca obserwatora w Django — pozwalają określonym nadawcom powiadomić zbiór odbiorców, gdy zachodzą określone zdarzenia (takie jak zapisanie lub usunięcie modelu). Umożliwiają rozprzężony kod: jedna część aplikacji reaguje na zdarzenia w innej bez bezpośredniego sprzężenia.
Typowe wbudowane sygnały
pre_save / post_save → before / after a model instance is saved
pre_delete / post_delete → before / after a model instance is deleted
m2m_changed → a ManyToMany relationship changed
request_started / finished→ request lifecycle
user_logged_in / out → authentication events
