首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过django会话传递“实时”数据?

如何通过django会话传递“实时”数据?
EN

Stack Overflow用户
提问于 2021-05-13 17:01:08
回答 1查看 147关注 0票数 0

在django管理员的变化中,我有一个很长的任务要处理。这需要几分钟的时间,所以我想做一个进度指标。我将进度存储到会话中,但是当我从不同的视图(每300 JS从JS调用计时器)读取会话时,会话不包含更新的进度(我在长任务中设置了这个过程)。在上一次长时间的任务结束时,它总是具有会话的功能。

官方文档说:“您可以在视图中的任何一点上阅读和写入request.session,您可以多次编辑它。”那它为什么不起作用?

更新:公认的答案确实回答了这个问题。但我还是不能把它应用到我的实际案件中。是的,在两个常规视图之间,它工作得很好,但是在admin的response_change和常规视图之间却不工作,因为session_key、_auth_user_id、_auth_user_hash在两个线程中都是相同的。如果您有任何提示,请留在comments.Thanks中。

Update2:将会话引擎设置为文件,修复它!为什么?这不是速度问题,因为数据库会话引擎甚至不能在调试模式下工作,在调试模式下,我需要休息几分钟…

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-13 17:31:16

会话直到请求结束/服务器发送回响应时才会保存。您可以使用request.session.save() Ref:session.BaseSessionManager.save自己保存会话

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67523230

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档