在Django中,我的request.session没有保留...有人知道为什么吗?
在一个视图中,我设置了:
request.session.set_expiry(999)
request.session['test'] = '123'
在另一个视图中,我做了:
print request.session['test']
但是找不到它了。(出错)
其实很简单,我只有两个视图。
看起来一旦我离开一个视图再回来,它就消失了!这是为什么呢?
2 个回答
1
你是不是在某个地方把会话(session)直接设置成了一个空的字典呢?
18
这可能和这个有关吧?我刚在 http://code.djangoproject.com/wiki/NewbieMistakes 找到的。
在会话中添加列表的内容不起作用
问题
如果你在会话中有一个列表,往里面添加内容的操作不会被保存到这个对象里。
解决办法
先把列表从会话对象中复制出来,添加内容后再把它复制回去:
sessionlist = request.session['my_list']
sessionlist.append(new_object)
request.session['my_list'] = sessionlist