我正在尝试跟踪用户 - 无需登录。为此,我尝试使用sessionid
或django会话。
查看:
# Associating data with sessionid
ob = MyModel(session_key=request.session.session_key, data='abc')
ob.save()
意图是为每个浏览器会话保存特定数据。
引发错误:
# session_key not found
我在浏览器上检查了Cookie,只有csrftoken
。
sessionid
不在Cookie列表中。
我认为无论如何都保持sessionid
?但似乎并非如此。
那么,sessionid
何时被创建?如何在没有用户登录的情况下管理session
?
答案 0 :(得分:7)
默认行为是,只有在session
类似dict的对象中访问或修改密钥时才会填充会话。
要避免此行为,请在True
文件中将SESSION_SAVE_EVERY_REQUEST
设置为settings.py
。这可确保即使您未修改会话对象,也会在每个请求上保存会话。
身份验证中间件与会话无关;默认情况下,django支持匿名会话。