我现在正在使用我的webapp中的Session,我注意到每当我重新启动开发服务器(Django附带的内置服务器)时,会话都不会重置。虽然我一遍又一遍地重新启动服务器,但它仍然存在。
我在哪里可以设置它,以便每当我重置/重启开发服务器时,都会刷新/清除会话?
答案 0 :(得分:2)
更改运行服务器文件
DJANGO_SETTINGS_MODULE="myproj.settings" \
python -c 'from django.contrib.sessions.models import Session; \
Session.objects.all().delete()'
python manage.py runserver
请参阅此处Django片段:清除会话表 - > http://djangosnippets.org/snippets/48/
答案 1 :(得分:2)
另一种解决方案是使用非持久会话后端。例如,
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
假设:Django 1.0-1.5,使用默认缓存后端(LocMem)
使用signed_cookies后端并清除浏览器的Cookie 也可以工作,但我还没有尝试过。
Django默认使用数据库作为会话后端
默认值:django.contrib.sessions.backends.db
因此,重新加载开发服务器时,将从数据库中恢复旧会话。这适用于文件和cached_db后端。