您好,登錄后才能下訂單哦!
使用django怎么設置session過期時間?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
session的超時時間設置
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是一個字典類。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失效 或 超時失效。
--------------------------------------------------------------
下面這個方法不是在settings中用的
request.session.set_expiry(value)
你可以傳遞四種不同的值給它:
如果value是個整數,session會在些秒數后失效(適用于整個Django框架,即這個數值時效時整個頁面都會session失效)。
如果value是個datatime或timedelta,session就會在這個時間后失效。
如果value是0,用戶關閉瀏覽器session就會失效。
如果value是None,session會依賴全局session失效策略。
看完上述內容,你們掌握使用django怎么設置session過期時間的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。