用django設(shè)置session過期時(shí)間的方法解析
session的超時(shí)時(shí)間設(shè)置
settings中
- SESSION_COOKIE_AGE=60*30 30分鐘。
- SESSION_EXPIRE_AT_BROWSER_CLOSE False:會(huì)話cookie可以在用戶瀏覽器中保持有效期。True:關(guān)閉瀏覽器,則Cookie失效。
- SESSION_COOKIE_DOMAIN 生效站點(diǎn)
- SESSION_COOKIE_NAME cookie中保存session的名稱
Session使用比較簡(jiǎn)單,在request.session是一個(gè)字典類。session是保存在數(shù)據(jù)庫中的。
-------------------------------------------------------
按手冊(cè)和網(wǎng)上的方法在settings.py中設(shè)置“SESSION_COOKIE_AGE” 和 “SESSION_EXPIRE_AT_BROWSER_CLOSE” 均不生效。 通過查看django的源代碼"middleware.py"才知道這兩個(gè)參數(shù)只有在settings.SESSION_SAVE_EVERY_REQUEST為True時(shí)才有效。依此在settings.py中設(shè)置這個(gè)變量后問題解決。
從源代碼看SESSION_EXPIRE_AT_BROWSER_CLOSE為True時(shí) SESSION_COOKIE_AGE 不生效。也就是說用戶只能二選一,在瀏覽器關(guān)閉時(shí)使session失效 或 超時(shí)失效。
--------------------------------------------------------------
下面這個(gè)方法不是在settings中用的
request.session.set_expiry(value)
你可以傳遞四種不同的值給它:
- 如果value是個(gè)整數(shù),session會(huì)在些秒數(shù)后失效(適用于整個(gè)Django框架,即這個(gè)數(shù)值時(shí)效時(shí)整個(gè)頁面都會(huì)session失效)。
- 如果value是個(gè)datatime或timedelta,session就會(huì)在這個(gè)時(shí)間后失效。
- 如果value是0,用戶關(guān)閉瀏覽器session就會(huì)失效。
- 如果value是None,session會(huì)依賴全局session失效策略。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
解決python3中的requests解析中文頁面出現(xiàn)亂碼問題
requests是一個(gè)很實(shí)用的Python HTTP客戶端庫,編寫爬蟲和測(cè)試服務(wù)器響應(yīng)數(shù)據(jù)時(shí)經(jīng)常會(huì)用到。這篇文章給大家介紹了解決python3中的requests解析中文頁面出現(xiàn)亂碼問題,感興趣的朋友一起看看吧2019-04-04
解決python3 requests headers參數(shù)不能有中文的問題
今天小編就為大家分享一篇解決python3 requests headers參數(shù)不能有中文的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08
python的set處理二維數(shù)組轉(zhuǎn)一維數(shù)組的方法示例
這篇文章主要介紹了python的set處理二維數(shù)組轉(zhuǎn)一維數(shù)組的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-05-05

