Cookie
(1)Cookie以鍵值對的格式進行信息的存儲。
(2) Cookie基于域名安全侠讯,不同域名的Cookie是不能互相訪問的
(3) 當瀏覽器請求某網(wǎng)站時挖藏,會將瀏覽器存儲的跟網(wǎng)站相關(guān)的所有Cookie信息提交給網(wǎng)站服務(wù)器。
Session
在服務(wù)器端存儲信息使用Session
對于敏感厢漩、重要的信息膜眠,建議要儲在服務(wù)器端,不能存儲在瀏覽器中溜嗜,如用戶名宵膨、余額、等級炸宵、驗證碼等
信 息辟躏。
狀態(tài)保持
瀏覽器請求服務(wù)器是無狀態(tài)的。無狀態(tài)指一次用戶請求時土全,瀏覽器捎琐、服務(wù)器無法知道 之前這個用戶做過什么会涎,每次請求都是一次新的請求
sessio的存儲方式:
1、存儲在數(shù)據(jù)庫中瑞凑,如下設(shè)置可以寫末秃,也可以不寫,這是默認存儲方式籽御。
2练慕、存儲在數(shù)據(jù)庫中,如下設(shè)置可以寫技掏,也可以不寫铃将,這是默認存儲方式。
3哑梳、混合存儲:優(yōu)先從本機內(nèi)存中存取劲阎,如果沒有則從數(shù)據(jù)庫中存取
4、如果存儲在數(shù)據(jù)庫中涧衙,需要在項INSTALLED_APPS中安裝Session應(yīng)用哪工。
對象及方法
1) 以鍵值對的格式寫session奥此。
222
request.session['鍵']=值
2)根據(jù)鍵讀取值弧哎。
request.session.get('鍵',默認值)
3)清除所有session,在存儲中刪除值部分稚虎。
request.session.clear()
4)清除session數(shù)據(jù)撤嫩,在存儲中刪除session的整條數(shù)據(jù)。
request.session.flush()
5)刪除session中的指定鍵及值蠢终,在存儲中只刪除某個鍵及對應(yīng)的值序攘。
del request.session['鍵']
6)設(shè)置會話的超時時間,如果沒有指定過期時間則兩個星期后過期寻拂。
request.session.set_expiry(value)
過期時間的設(shè)置程奠,分為三種:
如果value是一個整數(shù),會話將在value秒沒有活動后過期祭钉。
如果value為0瞄沙,那么用戶會話的Cookie將在用戶的瀏覽器關(guān)閉時過期。
如果value為None慌核,那么會話永不過期距境。
HttpResponse對象
視圖在接收請求并處理后,就會返回HttpResponse對象或子對象
屬性
content:表示返回的內(nèi)容。
charset:表示response采用的編碼字符集垮卓,默認為utf-8垫桂。
status_code:返回的HTTP響應(yīng)狀態(tài)碼。
content-type:指定返回數(shù)據(jù)的的MIME類型粟按,默認為'text/html'诬滩。
path:一個字符串霹粥,表示請求的頁面的完整路徑,不包含域名和參數(shù)部分疼鸟。
method:一個字符串蒙挑,表示請求使用的HTTP方法,常用值包括:'GET'愚臀、'POST'忆蚀。
在瀏覽器中給出地址發(fā)出請求采用get方式,如超鏈接姑裂。
在瀏覽器中點擊表單的提交按鈕發(fā)起請求馋袜,如果表單的method設(shè)置為post則為post請求。
encoding:一個字符串舶斧,表示提交的數(shù)據(jù)的編碼方式欣鳖。
如果為None則表示使用瀏覽器的默認設(shè)置,一般為utf-8茴厉。
這個屬性是可寫的泽台,可以通過修改它來修改訪問表單數(shù)據(jù)使用的編碼,接下來對屬性的任何訪問將使用
新的encoding值矾缓。
GET:QueryDict類型對象怀酷,類似于字典,包含get請求方式的所有參數(shù)嗜闻。
POST:QueryDict類型對象蜕依,類似于字典,包含post請求方式的所有參數(shù)琉雳。
FILES:一個類似于字典的對象样眠,包含所有的上傳文件。
COOKIES:一個標準的Python字典翠肘,包含所有的cookie檐束,鍵和值都為字符串。
session:一個既可讀又可寫的類似于字典的對象束倍,表示當前的會話被丧,只有當Django 啟用會話的支持時
才可用,詳細內(nèi)容見"狀態(tài)保持"肌幽。
方法
init:創(chuàng)建HttpResponse對象后完成返回內(nèi)容的初始化晚碾。
set_cookie:設(shè)置Cookie信息。
cookie是網(wǎng)站以鍵值對格式存儲在瀏覽器中的一段純文本信息喂急,用于實現(xiàn)用戶跟蹤格嘁。
max_age是一個整數(shù),表示在指定秒數(shù)后過期廊移。
expires是一個datetime或timedelta對象糕簿,會話將在這個指定的日期/時間過期探入。
max_age與expires二選一。
如果不指定過期時間懂诗,在關(guān)閉瀏覽器時cookie會過期蜂嗽。
delete_cookie(key):刪除指定的key的Cookie,如果key不存在則什么也不發(fā)生殃恒。
write:向響應(yīng)體中寫數(shù)據(jù)植旧。