我正在尝试跟踪用户 - 无需登录。为此,我尝试使用 sessionid
或 django session 。
查看:
# Associating data with sessionid
ob = MyModel(session_key=request.session.session_key, data='abc')
ob.save()
目的是为每个浏览器 session 保存特定数据。
引发错误:
# session_key not found
我查看了浏览器的cookies,只有csrftoken
。
sessionid
不在 cookie 列表中。
我假设 sessionid
无论如何都会被维护?但似乎并非如此。
那么,sessionid
是什么时候创建的?如何在没有用户登录的情况下管理 session
?
最佳答案
默认行为是仅当您访问或修改 session
类字典对象中的键时才填充 session 。
要避免这种行为,请设置 SESSION_SAVE_EVERY_REQUEST
在您的 settings.py
文件中设置为 True
。这可确保在每个请求上都保存一个 session ,即使您没有修改 session 对象也是如此。
认证中间件与 session 无关;默认情况下,django 支持匿名 session 。
关于python - Django : When is sessionid cookie set ? [默认可用吗? ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12257116/