1. 程式人生 > >diango中的url路由系統

diango中的url路由系統

分組 所有 就是 進行 -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路由系統