这个表格是否需要清除,还是Django会自动处理?
python manage.py clearsessions
python manage.py cleanup
from django.contrib.sessions.models import Session
Session.objects.all().delete()
clearsessions
仅清除过期的会话,不是吗? - harryghgim在我的开发服务器上,我更喜欢使用数据库命令而不是 python manage.py clearsessions
命令,因为你可以删除所有会话,而不仅仅是已过期的会话(这里是 MySQL 数据库)。要登录到数据库并执行以下命令:
truncate table django_session;
顺便提一下,session
不是数据库,而是一个表格(django_session)和一个应用程序(django.contrib.sessions
)。
我知道这篇文章有点旧了,但我尝试了这个命令/属性,它对我有效。
在'base.html'文件中,我插入了以下内容: {{ request.session.clear_expired }}
当用户在会话过期后单击模板中的任何链接时,这将清除django_session表中的过期记录。
即便如此,还需要创建一个例行程序来清除超过一天的过期记录。这是在用户关闭带有打开会话的浏览器时清除日志所必需的。
我使用的是Django 3.2.4
TRUNCATE django_session;
也可以起作用。 - Alperselect*from django_session;
或者查看有多少个会话select count (*)from django_session;
。 - Timo