先上代码,再注释
urlpatterns = [
# django1.x使用url
url(r'^first/$',FirstView.as_view(),name="first1"),
url(r'^first/(\d+)/$',FirstView.as_view(),name="first2"),
# django2.x以上使用path,re_path
# path:绝对路径 re_path:正则路径
# 以下是两种路由传参方式
path("second/<str:name>/<int:id>/", SecondView.as_view()),
re_path("second/(\w+)/(\d+)/", SecondView.as_view()),
# 自定义一些正则条件
re_path("second/(\w+)/(?P<id>[0-9]{2})/", SecondView.as_view())
]
2x版本:
使用尖括号(<>)从url中捕获值。
捕获值中可以包含一个转化器类型(converter type),比如使用 <int:name> 捕获一个整数变量
在Python正则表达式中,命名式分组语法为 (?P<name>pattern) ,其中name为名称, pattern为待匹配的模式。
1x版本:
下面的示例使用简单的正则表达式分组匹配(通过圆括号)来捕获URL中的值并以位置参数形式传递给视图
分组命名正则表达式组的语法是(?P<name>pattern),其中name是组的名称,pattern是要匹配的模式。
eg:url(r'^first/(?P<id>\d+)/$',FirstView.as_view(),name="first2")