what are django signals?
The Django Signals is a strategy to allow decoupled applications to get notified when certain events occur
There are two key elements in the signals machinary: the senders and the receivers. As the name suggests, the sender is the one responsible to dispatch a signal, and the receiver is the one who will receive this signal and then do something.
A receiver must be a function or an instance method which is to receive signals.
A sender must either be a Python object, or None to receive events from any sender.
The connection between the senders and the receivers is done through “signal dispatchers”, which are instances of Signal, via the connect method.
So to receive a signal, you need to register a receiver function that gets called when the signal is sent by using the Signal.connect() method.