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/')