視圖可調(diào)用的功能包括從WSGI環(huán)境中獲取請(qǐng)求數(shù)據(jù),并在處理后返回一定的HTTP響應(yīng)給客戶端。視圖函數(shù)接收Request對(duì)象作為參數(shù)。
通常情況下,這個(gè)對(duì)象不會(huì)被用戶實(shí)例化。相反,它封裝了WSGI環(huán)境的字典。這個(gè) 請(qǐng)求 對(duì)象代表 “pyramid.request.Request類”。它擁有一些屬性和方法,視圖函數(shù)使用它們來(lái)處理請(qǐng)求數(shù)據(jù)。
下面是一些 屬性 –
- request.method – 客戶端用來(lái)發(fā)送數(shù)據(jù)的HTTP請(qǐng)求方法,例如,GET、POST
- request.GET – 這個(gè)屬性是一個(gè)多義詞,包含查詢字符串中的所有變量。
- request.POST – 這個(gè)屬性只有在請(qǐng)求是POST并且是一個(gè)表單提交時(shí)才可用。它是一個(gè)包含請(qǐng)求體中所有變量的多變量。
- request.params – 一個(gè)包含 request.GET 和 request.POST 中所有內(nèi)容的多變量組合。
- request.body – 這個(gè)屬性包含整個(gè)請(qǐng)求正文的字符串。當(dāng)請(qǐng)求是一個(gè)不是表單提交的POST,或者像PUT這樣的請(qǐng)求時(shí),這很有用。
- request.cookies – 包含所有的cookies。
- request.headers – 一個(gè)不區(qū)分大小寫的所有HTTP頭信息的字典。
除了上述HTTP特定的環(huán)境屬性外,Pyramid還增加了一些特殊的屬性。
- request.url – 返回帶有查詢字符串的完整請(qǐng)求URL,例如:http://localhost:6543/app?name=Ravi
- request.host – URL中的主機(jī)信息,例如:localhost
- request.host_url – 該屬性返回帶有主機(jī)的URL,例如,http://localhost:6543/
- request.application_url – 應(yīng)用程序的URL(不含PATH_INFO),例如:http://localhost:6543/app
- request.path_url – 包含應(yīng)用程序的URL,包括PATH_INFO,例如:http://localhost:66543/app
- request.path – 返回包括PATH_INFO的URL,但不包括主機(jī),例如,”/app”
- request.path_qs – 包括PATH_INFO的URL中的查詢字符串,例如,”/app?name=Ravi”
- request.query_string – 只有URL中的查詢字符串,例如,”name=Ravi”
更多建議: