Django Python 如何从另一个sessionid cookie中获取数据?

Django Python how to take data from another sessionid cookie?

所以我正在使用 django python,在每个新浏览器上,我都会为我的 cookie 获取一个新的 sessionid,每个 sessionid 本身都有一个唯一的会话数据库。如果可能的话,我正在寻找一种从其他 sessionid 获取数据的方法。

示例: 我在我的网站上,在 2 种不同的浏览器中。

每个浏览器都有一个唯一的 sessionid cookie,因此有一个唯一的会话数据库。

(cookie 示例(不真实或无效)):

Chrome:a7363dc 火狐浏览器:a3621bcz

在 chrome 中,我得到 request.session["foo"] 也设置为 "bar"

在 Firebox 中,我 request.session["foo"] 也设置了 "zoo"

有什么方法可以像 var = request.session[a3621bcz]['foo'] 这样它在 firefox 中获取会话“foo”的值? (假设我在 chrome 中执行此操作)

或者,有没有什么方法可以让每个人的每个 sessionid cookie 始终相同?以便每个人都能以相同的方式访问 request.session["elm"] 元素?

例如:当我搜索 request.session['foo'] 时,我是在 chrome、firefox 还是在我的 chromebook 上的星巴克returns “bar” 不管我是从哪一个登录的?

您可以通过以下方式访问给定会话 ID 的会话:

from django.conf import settings
from importlib import import_module

engine = import_module(settings.SESSION_ENGINE)
sessionstore = engine.SessionStore

session = sessionstore(<i>session_key</i>)

session_key会话密钥(所以这里是'a3621bcz')。因此,您可以使用 session['foo'] 访问它。话虽这么说,混合会话可能更好而不是。 Django 利用会话中间件使访问相关 会话更加方便,从而防止在两个会话之间“泄漏”会话变量。