1. 在django 2.0中增加了一些新的特性
- 更簡單的URL路由語法 (Simplified URL routing syntax)
- admin應用的針對移動設備的優化改進(Mobile-friendly contrib.admin)
- 支持SQL開窗表達式(Window expressions)
第一個特性,主要用於動態路由定義上。在Django2.0代碼實現中,主要的變化是新增了 django.urls.path 函數,它允許使用一種更加簡潔、可讀的路由語法。比如之前的版本的代碼:
在django中url和path的區別
url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),
2. Django中 url和path都是配置路徑,有什么區別?
django.urls path
django.conf.urls url
path 與url 是兩個不同的模塊,效果都是響應返回頁面,path 調用的是python 第三方模塊或者框架,而url是自定義的模塊,如views 下的def 函數對應url的參數值
值得注意的是,在版本1.x中使用url,在版本2.x中使用path
所以在很多教程中新手需要注意
3. Import變動
django.urls.path 可以看成是 django.conf.urls.url 的增強形式。
4.小結
第一,目前 路由(url)到視圖(View)的流程可以概括為四個步驟:
- url匹配
- 正則捕獲
- 變量類型轉化
- 視圖調用
Django2.0 和之前相比多了 變量類型轉化 這一步驟
第二,新的path語法可以解決一下以下幾個場景:
- 類型自動轉化
- 公用正則表達式
tips
還有待補充
參考