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