微信小程式開發之路(八)Django 路由

2021-10-18 22:44:07 字數 2950 閱讀 7035

路由簡單的來說就是根據使用者請求的 url 鏈結來判斷對應的處理程式,並返回處理結果,也就是 url 與 django 的檢視建立對映關係。

django 路由在 urls.py 配置,urls.py 中的每一條配置對應相應的處理方法。

django 不同版本 urls.py 配置有點不一樣(博主使用的3.2.10版本):

path:用於普通路徑,不需要自己手動新增正則首位限制符號,底層已經新增。

re_path:用於正則路徑,需要自己手動新增正則首位限制符號。

例項:

from django.urls import re_path # 用re_path 需要引入

urlpatterns =

[ path(

'admin/'

, admin.site.urls)

, path(

'index/'

, views.index)

,# 普通路徑

re_path(r'^articles/([0-9])/$'

, views.articles)

,# 正則路徑

]

正則路徑中的無名分組無名分組按位置傳參,一一對應。

views 中除了 request,其他形參的數量要與 urls 中的分組數量一致。

最好自學一下正規表示式:

"中國礦業大學計算機學院許磊"

return render(request,

"runoob.html",)

defindex

(request,year)

:print

(year)

# 乙個形參代表路徑中乙個分組的內容,按順序匹配

'中國礦業大學計算機學院許磊'

正則路徑中的有名分組語法:(?p《組名》正規表示式)

有名分組按關鍵字傳參,與位置順序無關。

views 中除了 request,其他形參的數量要與 urls 中的分組數量一致, 並且 views 中的形參名稱要與 urls 中的組名對應。

路由分發(include)步驟:

from django.urls import path,re_path 

urlpatterns =

[ re_path(r'^login/(?p[0-9])/$'

, views.index,),

]

from django.urls import path,re_path

urlpatterns =

[ re_path(

"^***/(?p[0-9])/$"

, views.***)

,]

隨著功能的增加,路由層的 url 發生變化,就需要去更改對應的檢視層和模板層的 url,非常麻煩,不便維護。

這時我們可以利用反向解析,當路由層 url 發生改變,在檢視層和模板層動態反向解析出更改後的 url,免去修改的操作。

反向解析一般用在模板中的超連結及檢視中的重定向。

普通路徑

在 urls.py 中給路由起別名,name=「路由別名」。

path(

"login1/"

, views.login, name=

"login"

)

在 views.py 中,從 django.urls 中引入 reverse,利用 reverse(「路由別名」) 反向解析:

return redirect(reverse(

"login"

))

在模板 templates 中的 html 檔案中,利用 反向解析。

include(()

)

path(

, include((,

))) path(

, include((,)))

微信小程式學習之路《八》 模板引用

模板 wxml提供模板 template 可以在模板中定義 片段,然後在不同的地方呼叫。定義模板 使用name屬性,作為模板的名字。然後在內定義 片段,如 name msgitem text time text view template 使用模板 使用 is 屬性,宣告需要的使用的模板,然後將模板...

探索微信小程式之路

為真時顯示 為假時不顯示 根據判斷語句的真假來判斷是否要顯示內容。也可以在data設定isshow來進行動態顯示隱藏。js page btnclick function wxml 這是乙個按鈕 要顯示的內容1或者 要顯示的內容2或者 頁面最初顯示 要顯示的內容1或者 點選按鈕後顯示 要顯示的內容2或...

微信小程式開發

一 開發準備 二 開發工具的使用 編碼目錄結構 1 wxml的功能 資料繫結 資料繫結使用 mustache 語法 雙大括號 將變數包起來。列表渲染 wx for 在元件上使用 wx for 控制屬性繫結乙個陣列,即可使用陣列中各項的資料重複渲染該元件。block wx for 類似 block w...