我有兩個看法。如何在Django中使用一次後刪除會話密鑰?
view1通過會話密鑰將錯誤消息傳遞給view2。
如何在view2呈現後刪除鍵?我只需要一次:從view1重定向到view2。刷新我的網頁後,我不需要該消息顯示。我不認爲python會一旦執行就會繼續執行return
我在考慮設置過期時間戳,但我需要確保它至少存在10-20秒,如果應用程序真的需要這麼長時間加載(我們用Django做一些服務器的東西)?所以時間不是很有希望。
謝謝。
我有兩個看法。如何在Django中使用一次後刪除會話密鑰?
view1通過會話密鑰將錯誤消息傳遞給view2。
如何在view2呈現後刪除鍵?我只需要一次:從view1重定向到view2。刷新我的網頁後,我不需要該消息顯示。我不認爲python會一旦執行就會繼續執行return
我在考慮設置過期時間戳,但我需要確保它至少存在10-20秒,如果應用程序真的需要這麼長時間加載(我們用Django做一些服務器的東西)?所以時間不是很有希望。
謝謝。
您可以像任何其他字典一樣從會話中刪除密鑰。
del request.session['your key']
您可能需要標記的會話修改它來保存,這取決於你的一些設置。
request.session.modified = True
您也可以從會話中彈出密鑰。您可以將密鑰設置爲一個變量並同時將其除掉:
key_variable = request.session.pop('your key')
其中也可以採用默認值,例如'get' – Vassilis 2017-07-13 23:30:41
這是否需要'request.session.modified = True'後續或者否? – 2017-09-07 04:55:28
@HassanBaig不,在這種情況下不需要設置'request.session.modified = True'。 – 2018-01-16 14:03:02
對不起。我使整個事情變得如此複雜。我只是將它保存到本地var,然後完成。只要刪除它。謝謝。我在想太多。 – CppLearner 2012-03-20 04:15:55
如果'del'是與會話直接相關的鍵,而不是像request.session ['parent_key'] ['child']'嵌套的鍵,那麼不需要設置'request.session.modified = True ' – 2018-01-16 14:04:43