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

时间:2016-02-03 21:48:58

标签: session-variables web2py pythonanywhere

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

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

它到达新的URL / page / view - SearchResultsOrigText - 并且工作正常。 但是当从新的URL - SearchResultsOrigText-我离开(并且我从这个新页面离开的地方并不重要)时,返回'返回"浏览器的按钮,session.OrigText现在为空(显示为'无')。

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

尝试传递' html heavy'将OrigText中的内容作为字典变量(不是会话变量)让我进入另一个有趣的问题...... Python Anywhere说"有些错误502-后端"。 (无声失败?)这发生在PythonAnywhere上,但也不在本地。 消毒这个var并没有帮助...

但是,让我们关注第一个问题...... 为什么会话变量在1.redirect和2.leaving新页面/视图之后丢失 - 当在PythonAnywhere上托管而不在本地时?

由于

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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