Django:当多次请求 URL 时,FormWizard 仅运行一个实例

发布于 2024-08-24 14:30:15 字数 368 浏览 6 评论 0原文

我发现 FormWizard 只有 __init__ 一次,当多个用户同时请求 url 时(我在 2 个浏览器中:)。

这导致我在向导实例上临时存储的数据在用户之间错误地共享。

我在第二步中进行了一些数据库命中,并根据该结果在 done() 方法中进行了条件总结。代码/描述: Django FormWizard 最佳 ..好吧..有用的做法

有人对如何处理这个问题有一些建议吗?

非常感谢

I found out that the FormWizard only __init__'s once, when the url is request by multiple users at the same time (me in 2 browsers :).

This results in the fact that my temporarily stored data on the wizard's instance is wrongfully shared between users.

I'm doing some DB hits in the second step, and based on that outcome I do a conditional wrap-up in the done() method. code/description: Django FormWizard best .. well .. useful practices

Anybody have some advise on how to handle this?

Thanx a lot

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

萌化 2024-08-31 14:30:15

重做我的 2 个向导的代码后,在 FormWizard 实例上使用字典的解决方案现在使用嵌套字典,并将会话 id 作为嵌套字典的名称。

因此,

self.wizdata

我现在使用:

sk = request.session._session_key
self.wizdata[sk]

示例详细信息请参见此处。

问候,

杰拉德。

After redoing the code of my 2 wizards, the solution that uses a dict on the FormWizard's instance now uses a nested dict with the session id as the name for the nested dict.

Thus instead of:

self.wizdata

I now use:

sk = request.session._session_key
self.wizdata[sk]

Example and full detail here.

Regards,

Gerard.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文