二 Django框架路由引數

2021-09-12 08:03:34 字數 1803 閱讀 5237

專案的urls.py的檔案中包含的是具體應用的urls

應用中的urls.py檔案 包含的是檢視函式的對應關係

路由解析的順序, 從上到下,有可能後面的被前面的遮蔽

瀏覽器中, url要以/ 結尾, 不寫會django重定向後新增

路由的取名:

給應用的名字: namespace = 「」

函式的別名name=""

路由的反解析: reverse

a. 對於未指明路由命令空間: reverse(子路由name)

b. 指明命名空間: reverse(總namespace: 子路由name)

路徑中末尾中以/結尾是防止正則匹配的時候被上面的遮蔽

1.起始行 提取url中的特定部分. /weather/beijing/123

查詢字串: ?k1=v2&k2=v2

請求頭(header) cookie中的資料

body 可以是字串可以是二進位制檔案

格式不統一

表單資料, json xml

2. 提取引數的兩種方式: url中新增正則,

正則不命名: 檢視函式中, 接受引數按照順序

正則命名: (?p[a-z]+) 關鍵字引數的方式傳參

3. querydict物件

與字典不同的是, 乙個鍵可以取出不同的物件

get() 如果乙個鍵中有多個值, 獲取最後乙個,不存在返回none

getlist() 獲取同乙個鍵的所有值,返回乙個列表

httprequest物件的屬性get、post都是querydict型別的物件

查詢字串:

定義的檢視函式引數的方式不區分post和get都能獲取到方式

get代表的是查詢字串, 不是get請求方式

使用django.http.httpresponse 來構造響應物件

httpresponse(content=響應體, content_type= 響應體資料型別, stauts=狀態嗎)

先建立物件在新增屬性:

設定相應內容 response.content = 「」

設定狀態嗎 response.status_code = "

設定header response[『itcast』] = 「python」

httpresponse子類 httpresponseredirect 301

設定301的狀態碼

jsonresponse 用於返回json資料

redirect函式返回的是乙個httpresponse 物件

301 永久重定向, 網域名稱跳轉

302 臨時跳轉, 登入使用者個人中心跳轉到首頁

httpresponse.set_cookie(cookie名, value=cookie值, max_age =cookie有效期

讀取cookie request.cookie.get()

存放的位置: 資料庫中本地快取, 檔案, redis中

寫 request.session[『key』] = value

讀 request.session.get(key, 預設』)

清除所有session request.session.clear()

儲存中刪除值部分

清除session中的整條資料 request.session.flush()

刪除session中的指定鍵及值 del request.session[『鍵』]

設定session的有效期 request.session.set_expiry(value秒)

value 為0 對話結束立即清除

Django框架之路由

路由就是請求位址與檢視函式的對映關係 urls.py url index view.index djaogo框架中必會技能 正規表示式,檢視函式views.py def article request return render request,index.html 我們知道在正規表示式中是可以進行...

Django框架學習4 二級路由

1.建立了乙個應用後,可以在專案目錄下的urls.py中填寫路由路徑,也可以在應用目錄下新建urls.py填寫路由路徑,然後使用include,將應用目錄下的urls引用到專案目錄下。新建vote應用,在vote目錄下新建urls.py vote目錄下urls.py from django.urls...

Python框架django路由管理

所有django的路由,都必須定義在 路由管理器 urls.py urlpatterns 列表中 在 urlpatterns 中,通過定義 路由 可以使用 path 函式 from django.urls import path path route,view,kwargs,name django ...