Django4.0 使用會(huì)話-Browser-length sessions和persistent sessions

2022-03-16 18:00 更新

你可以通過(guò)設(shè)置 ?SESSION_EXPIRE_AT_BROWSER_CLOSE ?來(lái)控制會(huì)話框架是使用 browser-length sessions還是persistent sessions。

默認(rèn)情況下, ?SESSION_EXPIRE_AT_BROWSER_CLOSE ?為 ?False ?,這意味著會(huì)話 cookies 將保存在用戶瀏覽器中持續(xù) ?SESSION_COOKIE_AGE ?的時(shí)間。如果你不想用戶每次打開瀏覽器時(shí)必須登錄,就用這個(gè)。

如果 ?SESSION_EXPIRE_AT_BROWSER_CLOSE ?為 ?True?,Django 將使用 ?browser-length cookies? —— cookies 在用戶關(guān)閉瀏覽器時(shí)過(guò)期。如果你想讓用戶每次打開瀏覽器時(shí)必須登錄,就用這個(gè)。

這個(gè)設(shè)置是全局默認(rèn)的,并且可以通過(guò)顯式調(diào)用 ?request.session? 的 ?set_expiry()? 在每個(gè)會(huì)話級(jí)別上覆蓋,和之前的 ?using sessions in views? 里描述的一樣。

注意:有一些瀏覽器(比如谷歌瀏覽器)提供允許用戶在關(guān)閉或重新打開瀏覽器后繼續(xù)瀏覽會(huì)話的設(shè)置。有時(shí)候,這會(huì)妨礙 ?SESSION_EXPIRE_AT_BROWSER_CLOSE ?設(shè)置,并且阻止會(huì)話在瀏覽器關(guān)閉時(shí)過(guò)期。如果開啟了 ?SESSION_EXPIRE_AT_BROWSER_CLOSE ?設(shè)置,在測(cè)試 Django 程序時(shí)要注意這一點(diǎn)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)