HttpRequest對(duì)象(除非特殊說(shuō)明,所有屬性都是只讀,session屬性是個(gè)例外)
HttpRequest.scheme 請(qǐng)求方案(通常為http或https)
HttpRequest.body 字節(jié)字符串,表示原始http請(qǐng)求正文
HttpRequest.path 字符串,表示請(qǐng)求的頁(yè)面的完整路徑,不包含域名
HttpRequest.get_host() 獲取主機(jī)地址
HttpRequest.path_info 在某些Web 服務(wù)器配置下,主機(jī)名后的URL 部分被分成腳本前綴部分和路徑信息部分。path_info 屬性將始終包含路徑信息部分,不論使用的Web 服務(wù)器是什么。使用它代替path 可以讓代碼在測(cè)試和開發(fā)環(huán)境中更容易地切換。
例如,如果應(yīng)用的WSGIScriptAlias 設(shè)置為”/minfo”,那么當(dāng)path 是”/minfo/music/bands/the_beatles/“ 時(shí)path_info 將是”/music/bands/the_beatles/“。
HttpRequest.method 請(qǐng)求使用的http方法,大寫
HttpRequest.encoding 表示提交的數(shù)據(jù)的編碼方式,可寫
HttpRequest.GET
HttpRequest.POST
HttpRequest.REQUEST不建議使用,使用GET和POST代替
HttpRequest.COOKIES 字典,鍵和值都是字符串
HttpRequest.FILES 類似字典的對(duì)象,包含所有的上傳文件,
帶有enctype="multipart/form-data"才會(huì)有數(shù)據(jù)
HttpRequest.META 標(biāo)準(zhǔn)的python字典,包含所有http請(qǐng)求頭部
HttpRequest.user
HttpRequest.session 類似字典的對(duì)象
HttpRequest.urlconf 如果其它地方設(shè)置了,則用來(lái)取代ROOT_URLCONF
HttpRequest.resolver_match 會(huì)在url解析之后設(shè)置,一個(gè)ResolverMatch實(shí)例,表示解析之后的url
HttpRequest.get_host() 獲取原始主機(jī)地址
HttpRequest.get_port() 獲取請(qǐng)求端端口號(hào)
HttpRequest.get_full_path() 返回完整的path,包括查詢字符串
HttpRequest.build_absolute_uri(location) 返回絕對(duì)url
HttpRequest.get_signed_cookie(key, default=RAISE_ERROR, salt='', max_age=None)返回簽名過(guò)的Cookie對(duì)應(yīng)的值
HttpRequest.is_secure() 如果請(qǐng)求是通過(guò)https發(fā)起的,則返回True
HttpRequest.is_ajax() 如果請(qǐng)求是通過(guò)XMLHttpRequest發(fā)起的,則返回True
HttpRequest.read(size=None)
HttpRequest.readline()
HttpRequest.readlines()
HttpRequest.xreadlines()
HttpRequest.__iter__()
這幾個(gè)方法實(shí)現(xiàn)類文件的接口用于讀取HttpRequest· 實(shí)例
QueryDict對(duì)象
request.POST 和request.GET 的QueryDict 在一個(gè)正常的請(qǐng)求/響應(yīng)循環(huán)中是不可變的。若要獲得可變的版本,需要使用.copy()。