Does this table need to be purged or is it taken care of 开发者_开发百科automatically by Django?
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
- Django 1.6 or Above
python manage.py clearsessions
- Django 1.5 or lower
python manage.py cleanup
- From Django Shell
from django.contrib.sessions.models import Session Session.objects.all().delete()
- django-session-cleanup cornJob
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
).
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
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.
精彩评论