Django環境が「完全にロード」された後、いくつかの非常に単純なタスクを実行する必要があります。
具体的にはSignal.disconnect()
、サードパーティのライブラリによってデフォルトで設定されているDjango Signalsやconnect
独自のSignalsなどを実行する必要があります。また、別のライブラリのDjangoモデルに便利な機能を追加するために、 「モンキーパッチ」を実行する必要があります。
私はDjangoアプリの__init__.py
ファイルでこのようなことを行ってきました。これはモンキーパッチでは正常に機能しているようですが、Signalの切断では機能しません。問題はタイミングの1つであるように思われます。何らかの理由で、Signal.connect()
私が試した後、サードパーティライブラリは常にそれを呼び出してSignal.disconnect()
いるようです。
したがって、2つの質問:
INSTALLED_APPS
アプリの__init__.py
モジュールが読み込まれる順序に基づく保証はありますか?
Djangoアプリが完全にメモリにロードされた後に実行する必要があるロジックを配置する適切な場所はありますか?