在PythonAnywhere Web2Py上会话丢失但不在本地

问题描述 投票:2回答:3

我使用会话变量通过重定向传递一些信息:

session.OrigText = XML(str(OrigText))
redirect(URL('SearchResultsOrigText'))

它到达新的URL /页面/视图 - SearchResultsOrigText - 并且工作正常。但是当从那个新的URL - SearchResultsOrigText-我导航(并且我从这个新页面的位置无关紧要)时,当使用浏览器的“后退”按钮返回时,session.OrigText现在为空(显示为'没有')。

此行为仅在PA上发生,而不是在本地发生。我不在我的代码中的任何地方使用session.forget。

试图将OrigText中的'html heavy'内容作为字典变量(不是会话变量)传递给我另一个有趣的问题...... Python Anywhere说“有些东西错了502-后端”。 (无声失败?)这发生在PythonAnywhere上,但也不在本地。消除这种变量无济于事......

但是让我们关注第一个问题......为什么会话变量在1.redirect和2.leaving new page / view之后丢失 - 当托管在PythonAnywhere而不是本地?

谢谢

session-variables web2py pythonanywhere
3个回答
1
投票

默认情况下,Flask会话使用cookie,因此您可能在设置中的某个位置设置了设置cookie的域并且未正确设置。您也可能没有为会话设置密钥。


0
投票

确保您的代码或框架代码中没有“session.forget(response)”。


0
投票

我最近在PythonAnywhere中遇到了同样的问题。我通过从Firefox删除我的域名cookie来解决它。不过,我仍然不知道他们是如何搞砸的。

© www.soinside.com 2019 - 2024. All rights reserved.