Python Django会议';开发服务器中的生命周期
我现在正在我的webapp中处理会话,我注意到每当我重新启动开发服务器(Django附带的内置服务器)时,会话不会自行重置。即使我一次又一次地重新启动服务器,它也会继续运行Python Django会议';开发服务器中的生命周期,python,django,web-applications,Python,Django,Web Applications,我现在正在我的webapp中处理会话,我注意到每当我重新启动开发服务器(Django附带的内置服务器)时,会话不会自行重置。即使我一次又一次地重新启动服务器,它也会继续运行 在哪里可以设置它,以便每当我重置/重新启动开发服务器时,会话都会被刷新/清除?更改运行服务器文件 DJANGO_SETTINGS_MODULE="myproj.settings" \ python -c 'from django.contrib.sessions.models import Session; \
在哪里可以设置它,以便每当我重置/重新启动开发服务器时,会话都会被刷新/清除?更改运行服务器文件
DJANGO_SETTINGS_MODULE="myproj.settings" \
python -c 'from django.contrib.sessions.models import Session; \
Session.objects.all().delete()'
python manage.py runserver
请参见此处Django代码片段:清除会话表->更改运行服务器文件
DJANGO_SETTINGS_MODULE="myproj.settings" \
python -c 'from django.contrib.sessions.models import Session; \
Session.objects.all().delete()'
python manage.py runserver
请参见这里的Django代码片段:清除会话表->另一个解决方案是使用非持久会话后端。比如说,
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
假设:Django 1.0-1.5,使用默认缓存后端(LocMem)
使用signed_cookies后端并清除浏览器的cookies也可以,但我还没有尝试过
为什么?
默认情况下,Django将数据库用作会话后端
默认值:django.contrib.sessions.backends.db
因此,当重新加载开发服务器时,旧会话将从数据库中恢复。文件和缓存的数据库后端也是如此。另一个解决方案是使用非持久会话后端。比如说,
SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
假设:Django 1.0-1.5,使用默认缓存后端(LocMem)
使用signed_cookies后端并清除浏览器的cookies也可以,但我还没有尝试过
为什么?
默认情况下,Django将数据库用作会话后端
默认值:django.contrib.sessions.backends.db
因此,当重新加载开发服务器时,旧会话将从数据库中恢复。对于文件和缓存的\u db后端也是如此。我不确定为什么需要这样做。你们在生产中也期望这样吗?你当然不希望,比如说,你的客户的购物车都被清空了,因为你弹跳了服务器。我只是想尝试一些东西。我不知道为什么这会是你想要的行为。你们在生产中也期望这样吗?你当然不希望,比方说,你的顾客的购物车都被清空了,因为你把服务器弹回了。我只是想尝试一些东西。