Django middleware that prevents user sessions from expiration.
This Django middleware prevents user sessions from expiration.
When using django.contrib.sessions.middleware.SessionMiddleware, Django only saves the session cookie when a session is modified. On a typical site that only happens when a user logs in. In two weeks this session cookie expires and the user is prompted to login again, even if he’s been actively using the site.
django-everlasting-sessions provides a middleware that will update session cookies once in a while (every day by default), provided there is some activity from the user.
pip install django-everlasting-sessions
Add the middleware to settings.py:
MIDDLEWARE_CLASSES = [ ... 'django.contrib.sessions.middleware.SessionMiddleware', 'django_everlasting_sessions.UpdateSessionMiddleware', # Must go after SessionMiddleware ... ]
The rest will happen automatically.
The following default is used which you can override in settings.py:
SESSION_COOKIE_REFRESH = 86400 # Interval in seconds.