Changeset 8342
- Timestamp:
- 08/13/08 22:57:46 (4 months ago)
- Files:
-
- django/trunk/django/contrib/sessions/backends/base.py (modified) (2 diffs)
- django/trunk/django/contrib/sessions/backends/cache.py (modified) (1 diff)
- django/trunk/django/contrib/sessions/backends/db.py (modified) (1 diff)
- django/trunk/django/contrib/sessions/backends/file.py (modified) (1 diff)
- django/trunk/django/contrib/sessions/tests.py (modified) (3 diffs)
- django/trunk/docs/sessions.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/contrib/sessions/backends/base.py
r8341 r8342 224 224 return self.get('_session_expiry') == 0 225 225 226 def flush(self): 227 """ 228 Removes the current session data from the database and regenerates the 229 key. 230 """ 231 self.clear() 232 self.delete() 233 self.create() 234 226 235 # Methods that child classes must implement. 227 236 … … 248 257 raise NotImplementedError 249 258 250 def delete(self, session_key): 251 """ 252 Clears out the session data under this key. 259 def delete(self, session_key=None): 260 """ 261 Deletes the session data under this key. If the key is None, the 262 current session key value is used. 253 263 """ 254 264 raise NotImplementedError django/trunk/django/contrib/sessions/backends/cache.py
r8340 r8342 40 40 return False 41 41 42 def delete(self, session_key): 42 def delete(self, session_key=None): 43 if session_key is None: 44 session_key = self._session_key 43 45 self._cache.delete(session_key) 44 46 django/trunk/django/contrib/sessions/backends/db.py
r8340 r8342 62 62 raise 63 63 64 def delete(self, session_key): 64 def delete(self, session_key=None): 65 if session_key is None: 66 session_key = self._session_key 65 67 try: 66 68 Session.objects.get(session_key=session_key).delete() django/trunk/django/contrib/sessions/backends/file.py
r8340 r8342 90 90 return False 91 91 92 def delete(self, session_key): 92 def delete(self, session_key=None): 93 if session_key is None: 94 session_key = self._session_key 93 95 try: 94 96 os.unlink(self._key_to_file(session_key)) django/trunk/django/contrib/sessions/tests.py
r8341 r8342 24 24 False 25 25 26 >>> db_session['foo'] = 'bar' 27 >>> db_session.save() 28 >>> db_session.exists(db_session.session_key) 29 True 30 >>> prev_key = db_session.session_key 31 >>> db_session.flush() 32 >>> db_session.exists(prev_key) 33 False 34 >>> db_session.session_key == prev_key 35 False 36 >>> db_session.modified, db_session.accessed 37 (True, True) 38 26 39 >>> file_session = FileSession() 27 40 >>> file_session.modified … … 40 53 >>> file_session.exists(file_session.session_key) 41 54 False 55 56 >>> file_session['foo'] = 'bar' 57 >>> file_session.save() 58 >>> file_session.exists(file_session.session_key) 59 True 60 >>> prev_key = file_session.session_key 61 >>> file_session.flush() 62 >>> file_session.exists(prev_key) 63 False 64 >>> file_session.session_key == prev_key 65 False 66 >>> file_session.modified, file_session.accessed 67 (True, True) 42 68 43 69 # Make sure the file backend checks for a good storage dir … … 62 88 >>> cache_session.exists(cache_session.session_key) 63 89 False 90 >>> cache_session['foo'] = 'bar' 91 >>> cache_session.save() 92 >>> cache_session.exists(cache_session.session_key) 93 True 94 >>> prev_key = cache_session.session_key 95 >>> cache_session.flush() 96 >>> cache_session.exists(prev_key) 97 False 98 >>> cache_session.session_key == prev_key 99 False 100 >>> cache_session.modified, cache_session.accessed 101 (True, True) 64 102 65 103 >>> s = SessionBase() django/trunk/docs/sessions.txt
r8341 r8342 110 110 111 111 It also has these methods: 112 113 * ``flush()`` 114 115 **New in Django development version** 116 117 Delete the current session data from the database and regenerate the 118 session key value that is sent back to the user in the cookie. This is 119 used if you want to ensure that the previous session data can't be 120 accessed again from the user's browser (for example, the standard 121 ``logout()`` method calls it). 112 122 113 123 * ``set_test_cookie()``
