summaryrefslogtreecommitdiff
path: root/django
diff options
context:
space:
mode:
Diffstat (limited to 'django')
-rw-r--r--django/contrib/sessions/backends/base.py7
-rw-r--r--django/contrib/sessions/backends/file.py2
-rw-r--r--django/contrib/sessions/backends/signed_cookies.py3
3 files changed, 7 insertions, 5 deletions
diff --git a/django/contrib/sessions/backends/base.py b/django/contrib/sessions/backends/base.py
index 0e8ade3fbc..453f533e90 100644
--- a/django/contrib/sessions/backends/base.py
+++ b/django/contrib/sessions/backends/base.py
@@ -206,6 +206,9 @@ class SessionBase:
_session = property(_get_session)
+ def get_session_cookie_age(self):
+ return settings.SESSION_COOKIE_AGE
+
def get_expiry_age(self, **kwargs):
"""Get the number of seconds until the session expires.
@@ -225,7 +228,7 @@ class SessionBase:
expiry = self.get('_session_expiry')
if not expiry: # Checks both None and 0 cases
- return settings.SESSION_COOKIE_AGE
+ return self.get_session_cookie_age()
if not isinstance(expiry, datetime):
return expiry
delta = expiry - modification
@@ -249,7 +252,7 @@ class SessionBase:
if isinstance(expiry, datetime):
return expiry
- expiry = expiry or settings.SESSION_COOKIE_AGE # Checks both None and 0 cases
+ expiry = expiry or self.get_session_cookie_age()
return modification + timedelta(seconds=expiry)
def set_expiry(self, value):
diff --git a/django/contrib/sessions/backends/file.py b/django/contrib/sessions/backends/file.py
index e75195f222..cc5f93a8ff 100644
--- a/django/contrib/sessions/backends/file.py
+++ b/django/contrib/sessions/backends/file.py
@@ -69,7 +69,7 @@ class SessionStore(SessionBase):
Return the expiry time of the file storing the session's content.
"""
return session_data.get('_session_expiry') or (
- self._last_modification() + datetime.timedelta(seconds=settings.SESSION_COOKIE_AGE)
+ self._last_modification() + datetime.timedelta(seconds=self.get_session_cookie_age())
)
def load(self):
diff --git a/django/contrib/sessions/backends/signed_cookies.py b/django/contrib/sessions/backends/signed_cookies.py
index 1ee7790b8e..8942df1ea4 100644
--- a/django/contrib/sessions/backends/signed_cookies.py
+++ b/django/contrib/sessions/backends/signed_cookies.py
@@ -1,4 +1,3 @@
-from django.conf import settings
from django.contrib.sessions.backends.base import SessionBase
from django.core import signing
@@ -16,7 +15,7 @@ class SessionStore(SessionBase):
self.session_key,
serializer=self.serializer,
# This doesn't handle non-default expiry dates, see #19201
- max_age=settings.SESSION_COOKIE_AGE,
+ max_age=self.get_session_cookie_age(),
salt='django.contrib.sessions.backends.signed_cookies',
)
except Exception: