django框架版本:2
问题:django 用户登陆以后,点其他的还要重新登录
用户模型:自己写的
这个问题可能有很多原因,以下是一些常见的原因和解决方法:
如果SESSION_COOKIE_AGE未设置,那么会话 cookie 的默认生存期为2周,这意味着用户在2周内只要不清除浏览器缓存就可以一直保持登录状态,而超过2周后会话 cookie 就会过期,导致需要重新登录。你可以尝试在settings.py中设置SESSION_COOKIE_AGE,例如:
SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 # 7天
如果你使用了自定义的用户模型,那么可能需要配置SESSION_ENGINE以确保正确的会话管理。你可以在settings.py中设置SESSION_ENGINE,例如:
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
这将把会话数据存储到数据库中,以便用户可以跨会话保持登录状态。
from django.contrib.auth.decorators import login_required
@login_required
def my_view(request):
# 只有已登录用户可以访问这个视图
...
如果以上方法都无法解决你的问题,你可以尝试在代码中加入一些调试信息,例如打印用户的会话数据,以便更好地了解问题所在。