Python 更改Django代码会使我退出应用程序

Python 更改Django代码会使我退出应用程序,python,django,memory,Python,Django,Memory,我是Django的新手。我写了一个基本的应用程序。当我测试它时,我在Python代码中所做的每一个小更改都会将我从localhost注销 使用此缓存后端时会发生这种情况: 'BACKEND': 'django.core.cache.backends.locmem.LocMemCache', 但当我使用这个时,它不会: 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 是否有一种方法可以继续使用locmem但不注

我是Django的新手。我写了一个基本的应用程序。当我测试它时,我在Python代码中所做的每一个小更改都会将我从localhost注销

使用此缓存后端时会发生这种情况:

'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
但当我使用这个时,它不会:

'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
是否有一种方法可以继续使用locmem但不注销?

我猜您的设置为
缓存,并且您正在使用开发服务器

如果是这样,那么你所看到的行为是完全有道理的。更改Python代码时,开发服务器会自动重新启动,丢失内存中的所有数据。因为这包括缓存,其中包括会话信息,所以也会丢失缓存,迫使所有人重新登录

报告提到:

警告

只有在使用Memcached缓存后端时,才应使用基于缓存的会话。本地内存缓存后端保留数据的时间不够长,因此不是一个好的选择


由于要保留
LocMemCache
,因此应使用不同的会话后端。一种简单的方法可能是基于cookie的后端,但请检查以查看您的所有选项。

您更改了哪些文件导致了这种情况?我不记得上一次在编码会话中注销是什么时候了。一般来说,几乎所有与Django相关的代码都是在缓存后端之外的代码中进行的,如果您注销了任何更改。非常感谢。我很幸运自己也弄明白了:)此外,即使我不更改代码,而是从一个页面转到另一个页面,我也会被注销。它不是100%可重复的,但可能在40%左右。我猜这是因为缓存已满,所以会话数据已从缓存中删除。有没有调试的建议?事实上,我发现问题是因为我正在使用本地内存,并且会话正在从缓存中删除。您知道是否可以增加localmem的大小吗?