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
还有待补充
参考