django cookie、session
1.cookie
(1)什么是cookie?
服務器讓瀏覽器保存在瀏覽器本地的鍵值對
(2) 為什么要有cookie?
因為http協議無狀態,每一次訪問請求沒有任何關系,無法保存狀態
(3)cookie的特點?
cookie是由服務器給瀏覽器設置的
在同一個瀏覽器中訪問頁面時,攜帶者cookie
(4)設置cookie
例如:
response1 = redirect(‘/login/’)
response1.set_cookie(key, value)? 或者??response1.set_cookie(key, value,max_age)? ?其中max_age是創建的這個cookie在瀏覽器中保存多長時間,單位秒
response1.set_cookie(key, value,salt='')? 加鹽加密
(5)獲取cookie?
request.COOKIES['key']? 或者
request.COOKIES.get(key)? ? 推薦取法
(6) 刪除cookie
res.delete_cookie(key)
?
2.session
(1)什么是session
session是保存在服務器上的鍵值對,每一個session對應一個cookie,其依賴于cookie
(2)為什么用session?
1.cookie在瀏覽器端,不太安全
2.cookie保存的長度受限
(3)設置session
request.session[key] = value? 或者
request.session.setdefault(key,value)? 當存在時不設置
(4)獲取session
request.session[key]? 或者
request.session.get('key', ‘’)
(5) 刪除session?
request.session.pop(key)? ? ?刪除某個鍵值對
del request.session['key']
request.session.delete()? ?刪除所有的session鍵值對
request.session.flush()? ?刪除所有的session鍵值對及cookie鍵值對
request.session.set_expiry()? ?設置超時時間request.session.clear_expired()? ??清除當前過期的session
(6)session的其他的配置
 SESSION_COOKIE_NAME = 'sessionid'
 # Age of cookie, in seconds (default: 2 weeks).
 SESSION_COOKIE_AGE = 60 * 60 * 24 * 7 * 2
 # Whether to save the session data on every request.
 SESSION_SAVE_EVERY_REQUEST = False
 # Whether a user's session cookie expires when the Web browser is closed.
 SESSION_EXPIRE_AT_BROWSER_CLOSE = False
?
3.在設置session時,涉及了數據的傳輸,需以json的形式,所以在設置session時,其對應的值要符合轉換為json的數據類型。獲取session時其又會反序列化回來
?
轉載于:https://www.cnblogs.com/zhaosijia/p/9671719.html
總結
以上是生活随笔為你收集整理的django cookie、session的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: Rabbin拦截器
 - 下一篇: Java完全自学手册,一册在手,offe