Django:什么时候设置了sessionid cookie? [默认可用吗? ]

时间:2012-09-04 05:07:51

标签: python database django session session-cookies

我正在尝试跟踪用户 - 无需登录。为此,我尝试使用sessionid或django会话。

查看:

# Associating data with sessionid
ob = MyModel(session_key=request.session.session_key, data='abc')
ob.save()

意图是为每个浏览器会话保存特定数据。

引发错误:

# session_key not found

我在浏览器上检查了Cookie,只有csrftokensessionid不在Cookie列表中。

我认为无论如何都保持sessionid?但似乎并非如此。

那么,sessionid何时被创建?如何在没有用户登录的情况下管理session

1 个答案:

答案 0 :(得分:7)

默认行为是,只有在session类似dict的对象中访问或修改密钥时才会填充会话。

要避免此行为,请在True文件中将SESSION_SAVE_EVERY_REQUEST设置为settings.py。这可确保即使您未修改会话对象,也会在每个请求上保存会话。

身份验证中间件与会话无关;默认情况下,django支持匿名会话。