cookie --記住用戶名案例。
1、設(shè)置cookie
cookie是由服務(wù)器生成,存儲在瀏覽器端的一小段文本信息。
cookie的特點(diǎn):
- 以鍵值對方式進(jìn)行存儲。
- 通過瀏覽器訪問一個(gè)網(wǎng)站時(shí),會將瀏覽器存儲的跟網(wǎng)站相關(guān)的所有cookie信息發(fā)送給該網(wǎng)站的服務(wù)器。request.COOKIES
- cookie是基于域名安全的。www.baidu.com www.tudou.com
- cookie是有過期時(shí)間的,如果不指定,默認(rèn)關(guān)閉瀏覽器之后cookie就會過期。
response.set_cookie('name', 'laowang')
2、獲取cookie
name_cookie = request.COOKIES['name']
name_cookie = request.COOKIES.get('name', '')
3、原生js獲取Django視圖方法設(shè)置的cookie
cookie值:name=laowang; __session:0.340983988761107:=http:
function getCookie(name) {
var strcookie = document.cookie;
var arrcookie = strcookie.split('; ');
for (var i = 0; i < arrcookie.length; i++) {
var arr = arrcookie[i].split('=');
if (arr[0] == name) {
return arr[1];
}
}
return "";
}
session
session存儲在服務(wù)器端。
session的特點(diǎn):
- session是以鍵值對進(jìn)行存儲的。
- session依賴于cookie。唯一的標(biāo)識碼保存在sessionid cookie中。
- session也是有過期時(shí)間,如果不指定,默認(rèn)兩周就會過期。
set_expiry(value):設(shè)置會話的超時(shí)時(shí)間
如果沒有指定,則兩個(gè)星期后過期
如果value是一個(gè)整數(shù),會話將在values秒沒有活動后過期
如果value是一個(gè)timedelta對象,會話將在當(dāng)前時(shí)間加上這個(gè)指定的日期/時(shí)間過期
如果value為0,那么用戶會話的Cookie將在用戶的瀏覽器關(guān)閉時(shí)過期
如果value為None,那么會話永不過期
修改視圖中l(wèi)ogin_handle函數(shù),查看效果
1、設(shè)置session--記住用戶登錄狀態(tài)案例
request.session['name'] = 'laowang'
2、獲取session
name_session = request.session['name']
name_session = request.session.get('name', '')