gpt4 book ai didi

python - 开发服务器重启时 Django 注销

转载 作者:太空宇宙 更新时间:2023-11-04 05:42:56 25 4
gpt4 key购买 nike

在开发 Django 1.8 项目时,每次开发服务器重新启动时我都会注销。这意味着每次更改 python 代码(并且开发服务器重新启动)我都必须重新登录。这让我有点抓狂。

我正在使用默认的 SESSION_ENGINEdjango.contrib.sessions.backends.db 并且可以看到 django_session 表有值。

我打开了 DEBUG=True

谁能建议其他要检查的东西?谢谢。

最佳答案

作为一项安全措施(以免在公共(public)版本控制中保存敏感信息)我在 settings.py 中自动生成了 SECRET_KEY 例如

chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
SECRET_KEY = get_random_string(50, chars)

当 runserver 重新启动时,它会重新生成,但因为这是 session token ,数据库中的 token 与设置中的 token 不匹配,我已经登录了。部署版本不是问题,而是痛苦的原因在开发版本中。

为了解决这个问题,我将这一行保留在 settings.py 中,并在 local_settings.py 中硬编码一个 SECRET_KEY,它不会被提交到版本控制。

2022 年 10 月 20 日更新

我现在使用环境变量,例如

import os
SECRET_KEY = os.environ['SECRET_KEY']

并且不会推荐此解决方案。正如 @abdul-aziz-barkat 在评论中提到的,当您有多个进程为网站提供服务时,您可能会遇到用户不断注销的情况。

关于python - 开发服务器重启时 Django 注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33249017/

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