在我的 Django 环境“完全加载”之后,我需要执行一些相当简单的任务。
更具体地说,我需要做一些事情,比如Signal.disconnect()
默认情况下由我的第三方库设置的一些 Django 信号和connect
我自己的信号,我需要做一些“猴子补丁”来为来自另一个库的一些 Django 模型添加便利功能。
我一直在我的 Django 应用程序__init__.py
文件中做这些事情,这似乎对猴子修补工作正常,但对我的信号断开连接不起作用。问题似乎是时间问题之一——无论出于何种原因,第三方图书馆似乎总是Signal.connect()
在我尝试之后调用Signal.disconnect()
它。
所以两个问题:
INSTALLED_APPS
根据我的应用程序__init__.py
模块加载顺序的顺序,我有什么保证吗?
在Django 应用程序完全加载到内存后,是否有合适的位置放置需要运行的逻辑?