简体   繁体   English

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

[英]How to set session not to expire on browser close in django?

How to set the session not to expire on browser close in Django? 如何设置会话在Django中关闭浏览器时不过期?

I created cookie with expiry days: 我创建的Cookie的有效期限为:

In setting.py I added SESSION_EXPIRE_AT_BROWSER_CLOSE = False and SESSION_COOKIE_AGE = 1440 * 60 . setting.py我添加了SESSION_EXPIRE_AT_BROWSER_CLOSE = FalseSESSION_COOKIE_AGE = 1440 * 60

When I logged in, cookies are created, but the attribute Expires for the cookie is "When the browsing session ends and sessionid cookies expires on (1 day time) 24 hours". 当我登录时,将创建cookie,但是cookie的属性Expires为“当浏览会话结束且sessionid cookie在24小时(1天时间)到期时”。

When I close the tab and reopen it, it keeps session continuous, but when I close the browser and reopen it, the cookies are also deleted, even sessionid . 当我关闭选项卡并重新打开它时,它使会话保持连续,但是当我关闭浏览器并重新打开时,cookies也被删除,甚至是sessionid So it redirects to the login page again. 因此,它再次重定向到登录页面。

I want to keep session continuous even after reopening the browser. 即使重新打开浏览器后,我也希望保持会话连续。

Try this 尝试这个

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)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM