Commit 31ec68c5 authored by Malcolm Tredinnick's avatar Malcolm Tredinnick
Browse files

Added a clear() method to sessions. Patch from mrts. Refs #7515.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@8341 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent af7b6475
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -120,6 +120,10 @@ class SessionBase(object):
    def iteritems(self):
        return self._session.iteritems()

    def clear(self):
        self._session.clear()
        self.modified = True

    def _get_new_session_key(self):
        "Returns session key that isn't being used."
        # The random module is seeded when this Apache child is created.
+9 −1
Original line number Diff line number Diff line
@@ -147,7 +147,15 @@ True
>>> list(i)
[('x', 1)]

 
# test .clear()
>>> s.modified = s.accessed = False
>>> s.items()
[('x', 1)]
>>> s.clear()
>>> s.items()
[]
>>> s.accessed, s.modified
(True, True)

#########################
# Custom session expiry #
+3 −1
Original line number Diff line number Diff line
@@ -77,7 +77,7 @@ When ``SessionMiddleware`` is activated, each ``HttpRequest`` object -- the
first argument to any Django view function -- will have a ``session``
attribute, which is a dictionary-like object. You can read it and write to it.

It implements the following standard dictionary methods:
A session object has the following standard dictionary methods:

    * ``__getitem__(key)``

@@ -106,6 +106,8 @@ It implements the following standard dictionary methods:

    * ``setdefault()`` (**New in Django development version**)

    * ``clear()`` (**New in Django development version**)

It also has these methods:

    * ``set_test_cookie()``