diango中的url路由系統
阿新 • • 發佈:2019-02-24
分組 所有 就是 進行 -s django font 命名 反向
一.url配置
url本質是url與要為該url調用的視圖函數之間的映射表
urlpatterns = [正則,視圖函數[,別名]]
二.正則表達式
1.匹配原則
django是循環urlpatterns這個列表,一旦匹配到,就不再往下進行匹配
2.分組匹配
把正則進行分組r"^index/([0-9]{4})/([0-9]{2})/" 分組後,視圖函數就要用位置參數來接收值,正則捕獲的都是字符串格式
3.命名分組匹配
把正則進行分組並命名,r"^index/(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/",命名分組後,傳給視圖函數的參數就是關鍵字參數了,需要用對用的year,month形參名來接收參數
4.優化匹配
由於django是循環匹配的,所有多個應用時數據量大匹配的比較慢.就有了分發include模塊
url(r"^app1/",include(app1.urls)),先匹配前面的,然後再去app1.urls匹配(需要在每個app中創建urls.py)
三.別名和反向解析
1.別名
url(正則,視圖函數,name = "xxx"),name的值就是別名
2.反向解析
html中的方向解析,{% url "xxx" %},其實就是模板渲染
diango中的url路由系統