1. from django.contrib.sessions.backends.base import SessionBase
    
  2. 
    
  3. 
    
  4. class SessionStore(SessionBase):
    
  5.     """
    
  6.     A simple cookie-based session storage implementation.
    
  7. 
    
  8.     The session key is actually the session data, pickled and encoded.
    
  9.     This means that saving the session will change the session key.
    
  10.     """
    
  11. 
    
  12.     def __init__(self, session_key=None):
    
  13.         super().__init__(session_key)
    
  14. 
    
  15.     def exists(self, session_key):
    
  16.         return False
    
  17. 
    
  18.     def create(self):
    
  19.         self._session_key = self.encode({})
    
  20. 
    
  21.     def save(self, must_create=False):
    
  22.         self._session_key = self.encode(self._session)
    
  23. 
    
  24.     def delete(self, session_key=None):
    
  25.         self._session_key = self.encode({})
    
  26. 
    
  27.     def load(self):
    
  28.         try:
    
  29.             return self.decode(self.session_key)
    
  30.         except Exception:
    
  31.             self.modified = True
    
  32.             return {}