python - Django : When is sessionid cookie set ? [默认可用吗? ]

标签 python database django session session-cookies

我正在尝试跟踪用户 - 无需登录。为此,我尝试使用 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,只有csrftokensessionid 不在 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/

相关文章:

Django - 在不查询数据库的情况下将对象转换为查询集

python - 对于 Python,如何对固定大小的列表中的元素进行排序和合并

python - 在 Python 中提取部分 2D-List/Matrix/List of lists

python - 在 Pandas 中按年/月/日分组

java - 如何在oracle11g中使用dbUtils获取CLOB列?

mysql - 'on clause' 中的未知列

python - 如何更新django中的多个对象

sql - Django - 模型只有一个字段可以吗?

python - 如何在 python 3.6 上安装 pip,而不是默认的 python 2.7?

mysql - 将数据库从多个位置同步到中央数据库的策略,反之亦然