session 的資料卻不見了!這是因為 Django的 session 預設只會修改被賦值或是被刪除的資料
像是以下的情況
# session 有修改
request.session['hello'] = 'world'
# session 有修改
del request.session['hello]
# session 有修改
request.session['hello'] = {}
# session 沒有修改!!!!
# 因為是request.session['hello']被賦予新的值,而不是request.session
request.session['hello']['world'] = 'hello'
在這個情況下,如果我們要讓session能夠被修改,我們需要設定session的modified的屬性。
request.session.modified = True
如果要修改這個預設的方式,讓session 能夠每次都被儲存,那我們需要設定 SESSION_SAVE_EVERY_REQUEST 為 True.
沒有留言:
張貼留言
對於文章內有任何問題,都可以提出來討論看看哦。