W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
默認情況下,Django 只在會話被修改后才會向會話數(shù)據(jù)庫保存會話——也就是說,是否已經(jīng)分配或刪除了它的任何字典值:
# Session is modified.
request.session['foo'] = 'bar'
# Session is modified.
del request.session['foo']
# Session is modified.
request.session['foo'] = {}
# Gotcha: Session is NOT modified, because this alters
# request.session['foo'] instead of request.session.
request.session['foo']['bar'] = 'baz'
在上面例子的最后一個例子中,我們可以通過在會話對象上設置 ?modified
?屬性來明確地告訴會話對象它已經(jīng)被修改:
request.session.modified = True
要想改變這個默認行為,可以設置 ?SESSION_SAVE_EVERY_REQUEST
?為 ?True
?。當設置為 ?True
?時,Django 會根據(jù)每個請求將會話保存到數(shù)據(jù)庫中。
注意,僅在會話被創(chuàng)建或修改時發(fā)送會話 ?cookie
?。如果 ?SESSION_SAVE_EVERY_REQUEST
?為 ?True
?,則會話cookie將在每次請求時發(fā)送。
同樣地,每次發(fā)送會話 cookie 時都會更新會話 cookie 的 ?expires
?部分。
如果響應狀態(tài)代碼為 500,會話不會被保存。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: