>  기사  >  백엔드 개발  >  django로 세션 만료 시간을 설정하는 방법

django로 세션 만료 시간을 설정하는 방법

一个新手
一个新手원래의
2017-09-09 13:34:502979검색

세션 시간 초과 설정

settings

SESSION_COOKIE_AGE=60*30 30分钟。
SESSION_EXPIRE_AT_BROWSER_CLOSE False:会话cookie可以在用户浏览器中保持有效期。True:关闭浏览器,则Cookie失效。
SESSION_COOKIE_DOMAIN 生效站点
SESSION_COOKIE_NAME cookie中保存session的名称

Session은 비교적 사용이 간단하며 request.session은 사전 클래스입니다. 세션은 데이터베이스에 저장됩니다.

------------------------------- ------ ----------

按手册和网上的方法在settings.py中设置“SESSION_COOKIE_AGE” 和 “SESSION_EXPIRE_AT_BROWSER_CLOSE” 均不生效。 通过查看django的源代码"middleware.py"才知道这两个参数只有在settings.SESSION_SAVE_EVERY_REQUEST
 为True时才有效。依此在settings.py中设置这个变量后问题解决。
从源代码看SESSION_EXPIRE_AT_BROWSER_CLOSE为True时 SESSION_COOKIE_AGE 不生效。也就是说用户只能二选一,在浏览器关闭时使session失效 或 超时失效。

---------------------- ----- -----------------------

다음 방법

request.session.set_expiry(value)

의 설정에는 사용되지 않습니다. 여기에 네 가지 다른 값 ​​​​을 전달할 수 있습니다:

* 값이 정수인 경우 세션은 숫자 이후에 만료됩니다. 초 (전체 Django 프레임워크에 적용됩니다. 즉, 이 값이 만료되면 전체 페이지 세션이 무효화됩니다)

* 값이 datatime 또는 timedelta인 경우 이 시간 이후에 세션이 만료됩니다.

* 값이 0인 경우 사용자가 브라우저를 닫으면 세션이 무효화됩니다.

* 값이 None이면 세션은 전역 세션 무효화 정책을 따릅니다.

위 내용은 django로 세션 만료 시간을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.