【问题标题】:Django : When is sessionid cookie set ? [ Is it available by default ? ]Django:什么时候设置 sessionid cookie? [是否默认可用? ]
【发布时间】:2012-08-28 17:41:39
【问题描述】:

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

【问题讨论】:

    标签: python database django session session-cookies


    【解决方案1】:

    默认行为是仅在您访问或修改session dict-like 对象中的键时才填充会话。

    为避免这种行为,请在您的 settings.py 文件中将 SESSION_SAVE_EVERY_REQUEST 设置为 True。即使您没有修改会话对象,这也可以确保在每个请求上都保存一个会话。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      • 2018-12-26
      • 2022-07-01
      • 2022-10-15
      相关资源
      最近更新 更多