屬性:django
path:服務器
表示提交請求頁面完整地址的字符串,不包括域名,如"/music/bands/the_beatles/"。cookie
method
session
表示提交請求使用的HTTP方法。它老是大寫的。例如:spa
if request.method == 'GET':orm
do_something()對象
elif request.method == 'POST':ip
do_something_else()文檔
GET字符串
一個類字典對象,包含全部的HTTP的GET參數的信息。見 QueryDict文檔。
POST
一個類字典對象,包含全部的HTTP的POST參數的信息。見 QueryDict文檔。
經過POST提交的請求有可能包含一個空的 POST字典,也就是說, 一個經過POST方法提交的表單可能不 包含數據。所以,不該該使用ifrequest.POST 來判斷POST方法的使用,而是使用 if request.method == "POST" (見表中的 method 條目)。
注意: POST 並不 包含文件上傳信息。見 FILES。
REQUEST
爲了方便而建立,這是一個類字典對象,先搜索 POST ,再搜索 GET 。靈感來自於PHP的 $_REQEUST 。
例如, 若 GET = {"name": "john"}, POST = {"age": '34'} ,REQUEST["name"] 會是 "john" , REQUEST["age"] 會是 "34" 。
強烈建議使用 GET 和 POST,而不是 REQUEST 。這是爲了向前兼容和更清楚的表示。
cookie
一個標準的Python字典,包含全部cookie。鍵和值都是字符串。cookie使用的更多信息見第12章。
FILES
一個類字典對象,包含全部上傳的文件。 FILES 的鍵來自 <input type="file" name="" /> 中的 name。 FILES 的值是一個標準的Python字典,包含如下三個鍵:
filename :字符串,表示上傳文件的文件名。
content-type :上傳文件的內容類型。
content :上傳文件的原始內容。
注意 FILES 只在請求的方法是 POST,而且提交的 <form> 包含enctype="multipart/form-data"時才包含數據。不然, FILES 只是一個空的類字典對象。
META
一個標準的Python字典,包含全部有效的HTTP頭信息。有效的頭信息與客戶端和服務器有關。這裏有幾個例子:
CONTENT_LENGTH
CONTENT_TYPE
QUERY_STRING :未解析的原始請求字符串。
REMOTE_ADDR :客戶端IP地址。
REMOTE_HOST :客戶端主機名。
SERVER_NAME :服務器主機名。
SERVER_PORT :服務器端口號。
在 META 中有效的任一HTTP頭信息都是帶有 HTTP_前綴的鍵,例如:
HTTP_ACCEPT_ENCODING
HTTP_ACCEPT_LANGUAGE
HTTP_HOST :客戶端發送的 Host 頭信息。
HTTP_USER_AGENT :客戶端的user-agent字符串。
HTTP_X_BENDER : X-Bender 頭信息的值,若是已設的話。
user
一個 django.contrib.auth.models.User 對象表示當前登陸用戶。 若當前用戶還沒有登陸, user 會設爲 django.contrib.auth.models.AnonymousUser的一個實例。能夠將它們與 is_authenticated() 區別開:
if request.user.is_authenticated():
# Do something for logged-in users.
else:
# Do something for anonymous users.
user 僅當Django激活 AuthenticationMiddleware時有效。
session
一個可讀寫的類字典對象,表示當前session。僅當Django已激活session支持時有效
get_full_path()
返回 path ,若請求字符串有效,則附加於其後。例如,"/music/bands/the_beatles/?print=true"。
has_key()
返回 True 或 False,標識 request.GET 或 request.POST 是否包含所給的鍵。