Hi Matt,
The recommended pattern is to register signal receivers in your app config's
ready() method[1]. From the Django documentation:
> Where should this code live?
>
> Strictly speaking, signal handling and registration code can live anywhere you
> like, although it’s recommended to avoid the application’s root module and its
> models module to minimize side-effects of importing code.
>
> In practice, signal handlers are usually defined in a signals submodule of the
> application they relate to. Signal receivers are connected in the ready()
> method of your application configuration class. If you’re using the receiver()
> decorator, simply import the signals submodule inside ready().
Cheers,
Simon
[1]
https://docs.djangoproject.com/en/1.10/topics/signals/#connecting-receiver-functions