実行時に変更した場合、ほとんどの設定は再読み込みされません。そのため、Djangoはあなたが行った変更を認識しません。
これは、Djangoが単なる通常のPythonコードであるという事実によるものです。コードを監視しているサーバーとは異なり、コードの一部にすぎません。
場合によっては、Djangoコードの一部が設定の変更に応答することがあります。これは、たとえば、メールが送信されるたびに「settings.DEFAULT_FROM_EMAIL」を実行するためです。
ただし、DjangoがINSTALLED_APPSの場合のように設定を処理する場合、何かを変更したことに気付かずに処理をやり直します。
どの設定が安全ですか?まあ、それは将来変更されるかもしれないので、ドキュメントは「どれも安全ではない」と言っています。Djangoは、何らかの理由で設定のコピーを保存したり、何らかの処理を行ったりする場合があります。
INSTALLED_APPSを変更すると、インポートされるモジュールが変更されるため、機能させることができませんでした。DjangoがPythonがこのレベルで機能する方法を回避する方法はありません-モジュールを「インポート解除」できる必要がありますが、これは基本的に不可能です(唯一の方法はプロセスを再起動することです)。クロスアプリリンクに関連する問題。