gpt4 book ai didi

django - 阻止 django 在源更改后注销

转载 作者:行者123 更新时间:2023-12-02 12:28:23 25 4
gpt4 key购买 nike

我正在开发一个 django 项目,几天后 django 一直在我更改源文件后记录我的情况。

cookie 和数据库中的过期日期显示还剩 1 个月。

即使进行更改后, session cookie 仍与数据库中的相同,但我必须再次登录。登录后,两个 sessionid(数据库和浏览器)都会发生变化。

我使用的是 django 1.8.5

编辑:一些与 session 相关的设置:

SESSION_EXPIRE_AT_BROWSER_CLOSE        False
SESSION_COOKIE_HTTPONLY True
SESSION_COOKIE_DOMAIN None
SESSION_SAVE_EVERY_REQUEST False
SESSION_COOKIE_SECURE False

编辑2:

更清楚一点:更改一些源文件(python 文件,模板工作得很好)后,服务器将重新加载(如果我使用 --noreload,我必须手动执行才能获取更改),之后每个人都已注销。

编辑3:

CACHES              {'default': {'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'}}
SESSION_ENGINE 'django.contrib.sessions.backends.db'

最佳答案

Django 有一个 SESSION_ENGINE控制 session 信息如何存储在服务器上的设置。其中一个选项是 django.contrib.sessions.backends.cache,它仅将 session 信息存储在缓存内存中。

现在,有一个特定的缓存后端 - django.core.cache.backends.locmem.LocMemCache -,它将信息存储在本地 python 内存中(有关更多信息,请参阅 CACHES )。这个缓存后端是开发的典型选择,当然每次服务器重新加载时都会重置。

结合使用这两个设置可以完美地解释您所描述的情况。希望这有帮助!

关于django - 阻止 django 在源更改后注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33413558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com