2.2版本的django中路由从原来的url换成了path,有一些常见的写法也发生了一些微妙的变化,用起来算是更方便了
- 更简单的URL路由语法 (Simplified URL routing syntax)
- admin应用的针对移动设备的优化改进(Mobile-friendly
contrib.admin
) - 支持SQL开窗表达式(Window expressions)
新增了的django.urls.path
函数,它允许使用一种更加简洁、可读的路由语法。比如之前的版本的代码:
二级路由中用正则匹配数字,来实现视图函数中的传参问题
url(r'^detail/(\d+)/', views.detail),
在新版本中也可以直接通过定义 <类型:形参>的形式来实现
path('detail/<int:num>/', views.detail),
Django默认支持以下5个转化器:
- str,匹配除了路径分隔符(
/
)之外的非空字符串,这是默认的形式 - int,匹配正整数,包含0。
- slug,匹配字母、数字以及横杠、下划线组成的字符串。
- uuid,匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。
- path,匹配任何非空字符串,包含了路径分隔符