Django--狀態(tài)保持

cookie --記住用戶名案例。

1、設(shè)置cookie

cookie是由服務(wù)器生成,存儲在瀏覽器端的一小段文本信息。
cookie的特點(diǎn):

  1. 以鍵值對方式進(jìn)行存儲。
  2. 通過瀏覽器訪問一個(gè)網(wǎng)站時(shí),會將瀏覽器存儲的跟網(wǎng)站相關(guān)的所有cookie信息發(fā)送給該網(wǎng)站的服務(wù)器。request.COOKIES
  3. cookie是基于域名安全的。www.baidu.com www.tudou.com
  4. 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):

  1. session是以鍵值對進(jìn)行存儲的。
  2. session依賴于cookie。唯一的標(biāo)識碼保存在sessionid cookie中。
  3. 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', '')
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容