【问题标题】:How to set session not to expire on browser close in django?如何在 django 中设置会话不会在浏览器关闭时过期?
【发布时间】:2018-04-15 23:28:13
【问题描述】:

如何在 Django 中设置会话在浏览器关闭时不过期?

我创建了带有有效期的 cookie:

setting.py 我添加了SESSION_EXPIRE_AT_BROWSER_CLOSE = FalseSESSION_COOKIE_AGE = 1440 * 60.

当我登录时,会创建 cookie,但 cookie 的属性 Expires 是“当浏览会话结束且 sessionid cookie 在(1 天时间)24 小时到期时”。

当我关闭选项卡并重新打开它时,它会保持会话连续,但是当我关闭浏览器并重新打开它时,cookie 也会被删除,即使是sessionid。所以它再次重定向到登录页面。

即使重新打开浏览器,我也想保持会话连续。

【问题讨论】:

  • stackoverflow.com/questions/3024153/…你检查过这个吗?
  • 也尽量不使用 SESSION_COOKIE_AGE = 1440 * 60 只使用 SESSION_EXPIRE_AT_BROWSER_CLOSE = False 。提及您正在使用的 django 版本。

标签: javascript django python-3.x


【解决方案1】:

试试这个

def login(request, *args, **kwargs):
    if request.method == 'POST':  
        request.session.set_expiry(settings.LOGIN_SESSION_TIMEOUT) 
        settings.SESSION_EXPIRE_AT_BROWSER_CLOSE =  False      
    return auth_views.login(request, *args, **kwargs)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-04-27
    • 2018-06-19
    • 2011-04-21
    • 2015-08-12
    • 1970-01-01
    • 2012-12-18
    • 2013-11-17
    • 2015-11-07
    相关资源
    最近更新 更多