Signale sind Djangos Implementierung des Observer-Musters — sie ermöglichen es bestimmten Sendern, eine Reihe von Empfängern zu benachrichtigen, wenn spezifische Ereignisse auftreten (z. B. wenn ein Modell gespeichert oder gelöscht wird). Sie ermöglichen entkoppelten Code: ein Teil der App reagiert auf Ereignisse in einem anderen, ohne direkte Abhängigkeiten.
Häufig verwendete eingebaute Signale
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
