Django基于cookie的会话数据存储在哪里?

问题描述:

我正在使用Django签名的cookie引擎来存储会话数据。我的设置是:Django基于cookie的会话数据存储在哪里?

SESSION_ENGINE = 'django.contrib.sessions.backends.signed_cookies' 
SESSION_EXPIRE_AT_BROWSER_CLOSE = False 
SESSION_COOKIE_NAME = 'sessionid' 

它的工作原理应该如此。即使关闭浏览器和网络服务器,当我访问该网站时,我仍然登录。我可以看到sessionid被设置,但我似乎无法找到会话数据的存储位置。我在会话中存储整个用户对象。

enter image description here

+0

会话数据作为序列化对象存储在数据库中。 – Jingo

的数据被存储在sessionid本身。以下是来自签名cookie后端的相关source code

def _get_session_key(self): 
    """ 
    Instead of generating a random string, generate a secure url-safe 
    base64-encoded string of data as our session key. 
    """ 
    return signing.dumps(
     self._session, compress=True, 
     salt='django.contrib.sessions.backends.signed_cookies', 
     serializer=self.serializer, 
    )