Skip to main content

Django middleware that prevents user sessions from expiration.

Project description

django-everlasting-sessions

This Django middleware prevents user sessions from expiration.

Problem

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.

Solution

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.

Installation

pip install django-everlasting-sessions

Usage

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.

Options

The following default is used which you can override in settings.py:

SESSION_COOKIE_REFRESH = 86400  # Interval in seconds.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-everlasting-sessions-0.0.4.tar.gz (1.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page