【发布时间】:2014-09-25 00:12:02
【问题描述】:
我需要一个地方来运行特定于应用程序的初始化代码(例如连接到信号)。
当我将代码放入应用程序的__init__.py 模块时,我最终得到了模型的循环导入。
有没有办法在设置框架时和执行任何请求之前触发函数?
我使用的是相当老的 django 96.6 版本,但我也对当前版本的解决方案感兴趣。
关于其他问题的重复: 以下是该问题与 S.Lott 在 cmets 中建议的重复问题的不同之处:
Correct place to put extra startup code in django? 运行函数时,Django 需要完全初始化。所以 manage.py 中的代码不起作用。
Where should I place the one-time operation operation in the Django framework? 该函数初始化我的应用程序之间的连接。因此,代码必须在实际处理请求的每个线程中运行。
对当前解决方案的评论: 我不能使用 url,因为我的大多数应用程序都没有暴露任何 url。他们只是监听信号并将附加信息存储在数据库中。
【问题讨论】:
-
@S.Lott 这不是重复的。我需要一个在 django 框架初始化后立即为每个 python 解释器实例运行的代码。我会在问题中详细说明