python之Django框架篇-進階三
阿新 • • 發佈:2019-01-04
1. 檢視(接收請求返回響應那部分) 1. CBV(class base view)和FBV(function base view) 2. request物件 1. 之前學過的 1. request.method --> 獲取請求的方法(GET、POST等) 2. request.GET --> 通常用來獲取URL裡面的引數 127.0.0.1:8000/edit_book/?id=1&name=yimi request.GET --> {"id":1, "name":"yimi"} request.GET.get("id") 3. request.POST --> 用來獲取POST提交過來的資料 request.POST.get("book_name") 2. 補充其他常用的: 1. request.path_info --> 獲取使用者請求的路徑(不包含IP和埠和URL引數) 2. request.body 3. response 基礎必備三件套(求學要嚴謹) 1. HttpResponse --> 返回字串內容 2. render --> 返回一個html頁面 3. redirect --> 返回一個重定向(告訴瀏覽器再去訪問另外的網址) 4. JsonResponse 2. 路由系統(urls.py) https://blog.csdn.net/qq_27695659/article/details/85056290 1. 正則表示式的模糊匹配 2. 分組匹配 --> 相當於給檢視函式傳遞位置引數 3. 分組命名匹配 --> 相當於給檢視函式傳遞關鍵字引數 (兩個不要混合使用) ---------------------------- 這裡是坎 ------------------------------------ 4. 反向解析URL 本質上就是給url匹配模式起別名,然後用過別名拿到具體的URL路徑 1. 怎麼起別名? 在url匹配模式中,定義name="別名" 2. 如何使用? 1. 在模板語言裡面使用: {% url "別名" %} --> 得到具體的URL路徑 2. 在檢視中如何使用: from django.urls import reverse reverse("別名") --> 得到具體的URL路徑 3. 如何傳引數? 1. 模板語言中: {% url "別名" 2018 "nb" %} 2. 檢視函式中 傳位置引數: reverse("別名", args=(2018, "nb")) 傳關鍵字引數: reverse("別名" kwargs={"year": 2018, "title": "nb"}) 4. namespace 為了防止不同的app下面的url匹配模式有重複的別名