【发布时间】:2016-05-13 07:43:06
【问题描述】:
我使用会话变量通过重定向传递一些信息:
session.OrigText = XML(str(OrigText))
redirect(URL('SearchResultsOrigText'))
它到达新的 URL/页面/视图 - SearchResultsOrigText - 并且工作正常。 但是当从那个新的 URL - SearchResultsOrigText- 我离开时(我从这个新页面去哪里并不重要),当使用浏览器的“后退”按钮返回时,session.OrigText 现在是空的(显示为'无')。
此行为仅在 PA 上发生,而不是在本地发生。 我不在代码中的任何地方使用 session.forget。
试图将 OrigText 中的“html 重”内容作为字典变量(不是会话变量)传递给我另一个有趣的问题……Python Anywhere 说“出了点问题 502-后端”。 (静默失败?)这发生在 PythonAnywhere 上,但在本地也没有。 清理这个变量并没有帮助......
但是让我们专注于第一个问题...... 为什么会话变量在 1.redirect 和 2.离开新页面/视图后丢失 - 当托管在 PythonAnywhere 而不是本地时?
谢谢
【问题讨论】:
-
很难说不知道更多细节。如果您从登录转换为注销或从 HTTP 转换为 HTTPS(并已设置
session.secure()或request.requires_https()),会话可能会被清除或更新。检查浏览器开发者工具并查看 same 会话 cookie 是否在每个请求中来回发送。
标签: session-variables web2py pythonanywhere