Django的路由系统
一、路由系统
1、路由系统基本格式
urlpatterns = [
path( 要匹配的路径(可以是正则表达式), 视图函数, 参数, 别名)
]
2、参数说明
(1) 正则表达式:一个正则表达式字符串
(2) 视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
(3) 参数:要传递给视图函数的默认参数(字典形式,可选)
(4) 别名:一个可选的name参数
3、正则表达式详解
(1) 在python中使用 re_path模块来写正则表达式
(2) 正则表达式的开始使用“^”表示。
(3) 正则表达式的结束使用“$”表示。
(4) “r” 元字符串 防止正则表达式中的转义。
4、正则表达式 分组 及 分组命名匹配
(1) 分组匹配:
正则表达式分组匹配是通过小括号”()”来捕获URL中的值并以位置参数形式传递给视图。
注意:视图函数接受的是内容时字符串类型。
(2) 分组命名匹配:
分组命名正则表达式组的语法是(?Ppattern),
其中name是组的名称,pattern是要匹配的模式。
捕获的值作为关键字参数而不是位置参数传递给视图函数。
分组匹配和分组命名匹配的区别就是:
后者对捕获的值 命了名,就像关键字参数一样。所以视图中形参名要 使用 路由中 命的名,如果两边名不同,报错如下:
5、视图函数中指定默认值
默认值是写在视图函数中形参中,额外参数是写在路由中的键值对中 传给视图。
6、传递额外参数给视图函数