Django在dev服务器重启时注销

时间:2015-10-21 00:28:38

标签: python django

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

我使用的是默认SESSION_ENGINE,即django.contrib.sessions.backends.db,可以看到django_session表中包含值。

我有DEBUG=True

有人可以建议检查其他事项吗?感谢。

2 个答案:

答案 0 :(得分:1)

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

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

当runserver重新启动时,会重新生成,但因为这是会话令牌,数据库中的那个不匹配设置中的那个并且我已经登录。对于已部署的版本不是问题但是原因是开发版中的痛苦。

为了解决这个问题,我将此行保留在settings.py中,并在SECRET_KEY中对local_settings.py进行硬编码,但未提交版本控制。

答案 1 :(得分:0)

  

这意味着每次更改python代码(并且dev服务器重新启动)时我都必须重新登录。

Django自动将对python代码的更改合并到手动重启服务器的需要。如果添加了任何新文件,则需要重新启动服务器

您是否正在使用python manage.py migrate迁移更改? 确保您没有将--noreload选项与python manage.py runserver一起使用。

请参阅django-admin runserver docs。希望这可以帮助。 (并且因无法发表评论而道歉。