开发者

Session database table cleanup

开发者 https://www.devze.com 2023-04-02 10:55 出处:网络
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

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


  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


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.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号