Как выполнить произвольный код после "полной загрузки" Django

Мне нужно выполнить несколько довольно простых задач после "полной загрузки" моего окружения Django.

Более конкретно, мне нужно сделать такие вещи, как Signal.disconnect() некоторые сигналы Django, которые установлены моей сторонней библиотекой по умолчанию и connect мои собственные сигналы, и мне нужно сделать некоторые "обезьяньи исправления" для добавления функций удобства в некоторые модели Django из другой библиотеки.

Я делал это в файле __init__.py моего приложения Django, который, кажется, работает нормально для обезьяньего исправления, но не работает для отключения моего Сигнала. Похоже, что проблема заключается во времени - по какой-то причине сторонняя библиотека всегда вызывает свой Signal.connect() после того, как я пытаюсь Signal.disconnect().

Итак, два вопроса:

Есть ли у меня гарантия, основанная на порядке моих INSTALLED_APPS, что модуль моего приложения __init__.py будет загружен?

Есть ли подходящее место для размещения логики, которая должна выполняться после того, как приложения Django будут полностью загружены в память?

18
задан Chris W. 26 March 2011 в 00:58
поделиться