在Django中查找非活动会话文件

时间:2010-11-30 12:38:50

标签: python django

我在文件系统后端使用django会话。我已将SESSION_EXPIRE_AT_BROWSER_CLOSE设置为True。因此,当浏览器关闭时,我当前的会话无效。但是创建的会话文件仍然存在。

我想删除所有不活动/无效的文件。我怎样才能找到这些文件?

3 个答案:

答案 0 :(得分:1)

请注意,此设置意味着在浏览器关闭后删除cookie(在客户端!)。服务器上的会话一直保持到期。

会话存储在Django站点的数据库后端。如果您要清除所有未结会话,请查看Clearing the session table

答案 1 :(得分:1)

您可以考虑使用

python manage.py cleanup

删除此文件。

答案 2 :(得分:1)

从Django 1.5及更高版本开始,处理此问题的方法是使用django-admin.py和manage.py提供的新“clearsessions”命令。它清除了基于文件的会话,“清理”命令没有这样做。作为示例用法,您可以设置一个cron作业来定期运行:

django-admin.py clearsessions

(确保cron作业可以访问DJANGO_SETTINGS_MODULE环境变量)

有关详细信息,请参阅the docs