我有以下问题。我想为每个请求添加某种设置/拆卸到 django。例如,在每个用户请求开始时,我想收集开始数据收集,并在请求结束时将所有数据转储到数据库 (1)。
我现在想到的是,在中间件开始实例化一个对象(如单例)时,代码的每个其他部分都可以导入这个对象,使用它的方法,然后在返回响应之前相同的中间件将废弃该对象。我唯一关心的是线程安全,所以可能创建一个全局字典,并注册基于 url + session_id 哈希或请求对象 id 的键(内部 python 对象 id,也许是个好方法?)。在请求结束时,密钥将从 dict 中删除。
有什么建议、想法、想法吗?
(1) 请不要问我为什么不能直接访问数据库或类似的东西。这只是一个例子。我正在寻找诸如进入和退出之类的一般想法,但请求-响应明智,可以在代码中的任何位置导入并安全使用。