【发布时间】:2021-05-14 05:11:11
【问题描述】:
我在 django 管理员的response_change 中有一项很长的任务要处理。这需要几分钟,所以我想制作一个进度指示器。我将进度存储到会话中,但是当我从不同的视图读取会话时(每 300 毫秒在 JS 的计时器上调用一次),会话不包含更新的进度(我在长任务中设置)。它始终具有上次长任务结束时会话的内容。
官方文档说“您可以在视图中的任何位置阅读并写入 request.session。您可以多次编辑它。”。那么为什么它不起作用呢?
更新:接受的答案确实回答了这个问题。但我仍然无法将其应用于我的实际案例。是的,在 2 个常规视图之间它工作得很好,但在管理员的 response_change 和常规视图之间它没有。这绝对是同一个会话,因为 session_key、_auth_user_id、_auth_user_hash 在两个线程中都是相同的。如果您有任何提示,请在 cmets 中留下。谢谢
Update2:将会话引擎设置为文件已修复!为什么 ??? 这不是速度问题,因为数据库会话引擎甚至无法在调试模式下工作,我需要休息几分钟......
【问题讨论】: