所以,我的瓶会话的理解是,我可以用它像一本字典,并通过做增加值会话:
会议[“键名”] =“一些价值在这里”
这工作正常。
在我使用AJAX后,客户端调用的路线,我分配一个值到会话中。 并能正常工作。 我可以点击我的网站的各个页面和值停留在会议上。 但是如果我关闭浏览器窗口,然后回到我的网站,会话值我在那里走了。
所以这很奇怪,你会觉得这个问题是会话不是永久的。 我还实施烧瓶OpenID和使用该会话来存储信息,并且不坚持,如果我关闭浏览器窗口并打开它再次备份。 我还检查该Cookie关闭浏览器窗口后,但要回到我的网站之前,以及Cookie确实仍然存在。
另一个奇怪的一件行为(可能是相关的)的是,我已经写为测试目的的会议上,一些值将消失,当我访问AJAX后的路线,并指定正确的值。 所以这是奇怪的,但什么是真正奇怪的是,当我再关闭浏览器窗口,然后再次打开它,并因此失去了我试图挽留,我失去了以前的那些实际上返回值! 他们没有被重新分配,因为在我的Python文件重新分配这些值没有代码。
下面是一些输出,以帮手使其更清晰。 他们都来自一个路线outputed一个真正的页面,而不是我上面提到的AJAX后的路线。
这是后我已经指派我想在会话中存储的值输出。 价值关键是“用户ID” - 所有其他值都哑的人我都在试图解决这一问题补充道。 “用户id”:8将停留在会议上,只要我不要关闭浏览器窗口。 我可以访问其他路线和值将呆在那里,就像它应该。
['session.=', <SecureCookieSession {'userid': 8, 'test_variable_num': 102, 'adding using before request': 'hi', '_permanent': True, 'test_variable_text': 'hi!'}>]
如果我关闭浏览器窗口,并返回到现场,但没有重做AJAX POST请求,我得到这样的输出:
['session.=', <SecureCookieSession {'adding using before request': 'hi', '_permanent': True, 'yo': 'yo'}>]
在“哟”价值是不是在第一个第一输出。 我不知道它是从哪里来的。 我搜索我的代码为“哟”并没有指派任何地方该值没有我的情况下。 我想我可能是几天前已经添加到会话。 因此,现在看来似乎是坚持,但其他的值写入时被隐藏。
而这最后一个是我再次访问AJAX后的路线,然后要在使用调试打印出关键的页面。 作为第一输出我上面粘贴的,你所期望的,而“哟”值相同的输出再次消失(但它会回来,如果我关闭浏览器窗口)
['session.=', <SecureCookieSession {'userid': 8, 'test_variable_num': 102, 'adding using before request': 'hi', '_permanent': True, 'test_variable_text': 'hi!'}>]
我在这两个Chrome和Firefox测试这一点。
所以我觉得这一切奇怪,我猜测它的会话是如何工作的误解造成的。 我认为他们是字典,我可以写字典值融入其中,以后只要我的会话设置为永久和cookie不被删除检索这些天。
任何想法,为什么这个怪异的行为是怎么回事?