[Django]-Session database table cleanup

65👍

Django does NOT provide automatic purging. There is however a handy command available to help you do it manually: Django docs: Clearing the session store

python manage.py clearsessions
👤Abid A

23👍

  1. Django 1.6 or Above
    python manage.py clearsessions
    
  2. Django 1.5 or lower
    python manage.py cleanup
    
  3. From Django Shell
    from django.contrib.sessions.models import Session
    Session.objects.all().delete()
    
  4. django-session-cleanup
    cornJob

3👍

On my development server, I prefer a database command over python manage.py clearsessions because you delete all sessions, not just the expired ones (here: MySQL). To login into your database and do:

truncate table django_session;

BTW, session is not a database, but a table (django_session) and an app (django.contrib.sessions).

👤Timo

0👍

I know this post is old but I tried this command/attribute and it worked for me.

In the ‘base.html’ file, I inserted:
{{ request.session.clear_expired }}

This clears expired records from the django_session table when the user clicks on any link in the template after the session expires.

Even so, it is necessary to create a routine to clear expired records over a period longer than one day. This is necessary to clear logs when user closes browser with open sessions.

I used Django 3.2.4

0👍

Other method:

I’m using Django 3.2 and i recommend using the django-auto-logout package.

It allows active time and idle time session control.

In the template you can use variables together with Javascript.

Leave a comment