from django.conf import settings REFRESH_AGE = getattr(settings, 'SESSION_COOKIE_REFRESH_AGE', int(settings.SESSION_COOKIE_AGE / 2)) class RefreshSessionMiddleware(object): """ This middleware automatically refreshes the session after some time (default: settings.SESSION_COOKIE_AGE / 2). """ def process_request(self, request): assert hasattr(request, 'session'), "RefreshSessionMiddleware " \ "requires session middleware to be installed. Edit your " \ "MIDDLEWARE_CLASSES setting to insert " \ "'django.contrib.sessions.middleware.SessionMiddleware'." if request.session.get_expiry_age() < REFRESH_AGE: request.session.modified = True return None