HTTPrequest對象

from django.shortcuts import render
def login(request):
    #request參數就是HTTPrequest對象
    print(request)#<WSGIRequest: GET '/login/'>
    #返回請求的路徑,純路徑
    print(request.path)#/login/
    #返回請求的路徑,純路徑
    print(request.path_info)#/login/
    #返回的是請求的全路徑包括參數,不包含ip地址和端口,沒有參數就返回純路徑
    print(request.get_full_path())#/login/?a=1&b=1
    #查看當前的請求類型
    print(request.method)#GET 一般常見的是GET和POST
    #返回的是一個QueryDict對象,是HTTP通過GET請求從客戶端發送的請求數據
    #可以使用get方法獲取對象的值:name=request.GET.get('username')
    print(request.GET)#<QueryDict: {}>
    # 返回的是一個QueryDict對象,是HTTP通過POST請求從客戶端發送的請求數據
    # 可以使用get方法獲取對象的值:name=request.POST.get('username')
    print(request.POST)#<QueryDict: {}>
    注意:鍵值對的值是多個的時候,比如checkbox類型的input標籤,select標籤,需要用
    request.POST.getlist("hobby")
    #返回HTTP請求中的請求體,是byte類型,POST請求的數據就是在body中提取的,GET請求獲取不到數據
    print(request.body)
    #返回的是一個python字典,包含所有的HTTP請求頭信息
    print(request.META)
    return render(request,'login.html')

#META的常見值(瞭解):
    CONTENT_LENGTH —— 請求的正文的長度(是一個字符串)。
    CONTENT_TYPE —— 請求的正文的MIME 類型。
    HTTP_ACCEPT —— 響應可接收的Content-Type。
    HTTP_ACCEPT_ENCODING —— 響應可接收的編碼。
    HTTP_ACCEPT_LANGUAGE —— 響應可接收的語言。
    HTTP_HOST —— 客服端發送的HTTP Host 頭部。
    HTTP_REFERER —— Referring 頁面。
    HTTP_USER_AGENT —— 客戶端的user-agent 字符串。
    QUERY_STRING —— 單個字符串形式的查詢字符串(未解析過的形式)。
    REMOTE_ADDR —— 客戶端的IP 地址。
    REMOTE_HOST —— 客戶端的主機名。
    REMOTE_USER —— 服務器認證後的用戶。
    REQUEST_METHOD —— 一個字符串,例如"GET" 或"POST"。
    SERVER_NAME —— 服務器的主機名。
    SERVER_PORT —— 服務器的端口(是一個字符串)。
    #示例:
    請求中的任何 HTTP 首部轉換爲 META 的鍵時,都會將所有字母大寫並將連接符替換爲下劃線最後加上 HTTP_  前綴。
    所以,一個叫做 X-Bender 的頭部將轉換成 META 中的 HTTP_X_BENDER 鍵。

 

def main(request):
    #向前端返回一個字符串
    return HttpResponse('返回一個字符串')
    #向前段返回一個HTML頁面
    return render(request,'main.html')
    #臨時重定向,將請求指向另一個頁面,括號裏面寫路徑
    return redirect('/lmain/')

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章