这是我的问题。在第一次运行脚本后,DJango继续存储所有全局对象。例如,您在views.py中全局实例化的对象将在那里,直到您重新启动应用服务器。除非您的对象与可能超时的某些外部资源相关联,否则这很好。现在我想要纠正的方式是某种工厂方法,它检查对象是否被实例化,如果不是,则创建它,然后返回它。但是,这会失败,因为自上一页请求以来对象存在,因此工厂方法始终返回在第一次请求期间实例化的对象。
我正在寻找的是一种在每个请求的基础上触发某事的方法。我已经看到了通过实现自己的中间件来实现这一目标的方法,但我认为这样做太过分了。有没有人知道一些保留方法或其他每个请求触发器。
答案 0 :(得分:6)
简单:不要使用全局对象。 如果您想在视图中使用对象,请在视图中实例化它,而不是全局。这样,它将在视图结束后收集。