django 中 cookie與session 相關的知識

cookie :它是一個字典
 
設置cookie :
 
def index(request): response = HttpResponse('index') expires = datetime(year=2020,month=2,day=26,hour=22) response.set_cookie('username','zhutianle',expires=expires,path='/index1/',max_age=3600) return response

 

 
在頁面返回字符串 'index' 利用返回頁面的對象,設置cookie(cookie的鍵,cookie的值,expires到期時間,path是隻容許那個url,max_age最大時間) 
1. 若沒有填寫 max_age, expires ,默認都爲None
此時該cooike爲臨時的,只存在瀏覽器內存中, 關閉瀏覽器則自動刪除
 
2. 只有max_age, 則按秒計算過時時間, 瀏覽器會存在本地緩存路徑, 並自動刪除過時cookie
 
3. 只有expires, 則按照時間字符串計算過時時間, 瀏覽器會存在本地緩存路徑, 自動刪除過時cookie
 
3. 若 max_age和 expires 同時存在, 則默認使用 max_age
 
4. 若是設置的cookie時間小於計算機時間, 瀏覽器則不提取cookie
 
 
獲取cookie:
def get_cookie(request): cookies = request.COOKIES print(cookies) #它是一個字典 
username = cookies.get('username') return HttpResponse(username)

 

 
 
刪除cookie:
def delete_cookie1(request): response = HttpResponse('刪除cookie') response.delete_cookie('username') return response

 

 
另外一種刪除 cookie:
def delete_cookie2(request): cookie = request.COOKIES cookie.clear() return HttpResponse('clear')

 

 
session :
設置session:
def session_view(request): request.session['username'] = 'kangbazi'
    # expiry = timedelta(days=2)
    request.session.set_expiry(3600) #只支持 整型 0 None
    return HttpResponse('session_view') 

 

獲取session:
 
def get_session_view(request): username = request.session.get('username') return HttpResponse(username)

 

 
cookie 和 session的區別:
簡單跟你們說一下 二者的區別,cookie是存放在客戶端 沒有session 安全性高,只能存放4kb數據 ,而session 存放在服務端 安全性高,能存放的數據大
 
cookie 和 session的做用:
他們的做用呢!http 是無狀態的,好比咱們在實現登陸的時候 設置他們能夠讓讓瀏覽器記住咱們,下次訪問網頁的時候,下次訪問的時候就不須要登陸了,若是設置cookie和session的過時時間過時了 那麼也會失效。
相關文章
相關標籤/搜索