Python 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; \

我现在正在我的webapp中处理会话,我注意到每当我重新启动开发服务器(Django附带的内置服务器)时,会话不会自行重置。即使我一次又一次地重新启动服务器,它也会继续运行


在哪里可以设置它,以便每当我重置/重新启动开发服务器时,会话都会被刷新/清除?

更改运行服务器文件

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后端也是如此。

我不确定为什么需要这样做。你们在生产中也期望这样吗?你当然不希望,比如说,你的客户的购物车都被清空了,因为你弹跳了服务器。我只是想尝试一些东西。我不知道为什么这会是你想要的行为。你们在生产中也期望这样吗?你当然不希望,比方说,你的顾客的购物车都被清空了,因为你把服务器弹回了。我只是想尝试一些东西。