【问题标题】:Django - Is the session cookie expiry time updated when session data is modified?Django - 修改会话数据时是否更新会话 cookie 到期时间?
【发布时间】:2015-07-17 20:32:36
【问题描述】:
【问题讨论】:
标签:
django
session
cookies
【解决方案1】:
我自己的问题的答案是:是的。 Here是相关代码:
if modified or settings.SESSION_SAVE_EVERY_REQUEST:
if request.session.get_expire_at_browser_close():
max_age = None
expires = None
else:
max_age = request.session.get_expiry_age()
expires_time = time.time() + max_age
expires = cookie_date(expires_time)
# Save the session data and refresh the client cookie.
# Skip session save for 500 responses, refs #3881.
if response.status_code != 500:
request.session.save()
response.set_cookie(settings.SESSION_COOKIE_NAME,
request.session.session_key, max_age=max_age,
expires=expires, domain=settings.SESSION_COOKIE_DOMAIN,
path=settings.SESSION_COOKIE_PATH,
secure=settings.SESSION_COOKIE_SECURE or None,
httponly=settings.SESSION_COOKIE_HTTPONLY or None)