【问题标题】:In Django, my request.session is not carrying over...does anyone know why?在 Django 中,我的 request.session 没有结转……有人知道为什么吗?
【发布时间】:2011-01-13 00:54:33
【问题描述】:

在一个视图中,我设置:

request.session.set_expiry(999)
request.session['test'] = '123'

在另一种观点中,我愿意:

print request.session['test']

而且找不到。 (错误) 这很简单,我只有 2 个视图。

似乎一旦我离开一个视图并返回它......它就消失了!为什么?

【问题讨论】:

标签: python django session


【解决方案1】:

会不会和这个有关?刚刚在http://code.djangoproject.com/wiki/NewbieMistakes找到了

在会话中附加到列表不起作用 问题

如果您的会话中有一个列表,则附加操作不会保存到对象中。 解决方案

从会话对象中复制列表,附加到它,然后将其复制回:

sessionlist = request.session['my_list']
sessionlist.append(new_object)
request.session['my_list'] = sessionlist

【讨论】:

  • 太棒了。这对我来说真的很奇怪,因为无论我做什么,它只会在列表或字典中保存 1 或 2 个项目。最后一项会改变,但不会让我添加超过 2 个。
【解决方案2】:

您是否会在某个地方将会话本身设置为空字典?

【讨论】:

  • 这正是我的原因
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-21
  • 1970-01-01
  • 2020-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多