3.-路由配置
一、路由配置 - path
path()函数 导入 - from django.urls import path 语法 - path(route,views,name=None) 参数: 1.route:字符串类型,匹配的请求路径 2.views:指定路径所对应的视图处理函数的名称 3.name:为地址起别名,在模版中地址反向解析时使用 4.route可以为空字符,指定view访问 5.path('admin/', admin.site.urls), urlpatterns默认会携带admin路由,指向项目的admin后台
二、path转换器
语法:<转换器类型:自定义名> 作用:若转换器类型匹配到对应类型的数据,则将数据按照关键字传参的方式传递给视图函数 格式:path('page/<int:page>'.views.xxx) 以 /test/ 为例 转换器类型:str-匹配除了/之外的非空字符串 例如: <str:name>匹配 /test/user int-匹配0或任何正整数,返回一个int 例如: <int:num> 匹配 /test/1 slug-匹配任意由ascll字母或数字以及连字符和下划线组成的短标签 例如: <slug:sl> 匹配 /test/this-is-django path-匹配非空字段,包括路径分隔符'/' 例如: <path:ph> 匹配 /test/a/b/c
用法示例
1.路由
![](https://img2020.cnblogs.com/blog/1422712/202201/1422712-20220112105939416-1253543644.jpg)
2.视图函数后传递对应的变量
![](https://img2020.cnblogs.com/blog/1422712/202201/1422712-20220112105939415-290927584.jpg)
请求地址127.0.0.1:8000/page/test/任意数字 配置到view函数里面 跟传递到数字可以做不同的操作
路由匹配是按数组顺序从上向下匹配,匹配到第一个结果则停止匹配
逻辑练习:
定义一个路由格式为http://127.0.0.1:8000/整数/操作字符串[add/sub/mul]整数 ps:[加/减/乘]
从路由中提取数据,做相应的操作后返回给浏览器
例如: 127.0.0.1:8000/整数/操作符/整数 . 127.0.0.1:8000:100/add/200 页面结果显示300
![](https://img2020.cnblogs.com/blog/1422712/202201/1422712-20220112105940532-1058341620.jpg)
![](https://img2020.cnblogs.com/blog/1422712/202201/1422712-20220112105940225-1901437069.jpg)
![](https://img2020.cnblogs.com/blog/1422712/202201/1422712-20220112105940530-556418150.jpg)
三、路由配置-re_path
re_path()函数 在url的匹配过程中可以使用正则表达式进行精确匹配 语法: re_path(reg,view,name=xxx) 正则表达式为命名分组模式(?P<name>pattern),匹配提取参数后用关键字传参方式传递给视图函数 使用: 导入:from django.urls import re_path 例如输出生日信息,年份限制匹配4位数字,月份1到2位数字,日1到2位数字
![](https://img2020.cnblogs.com/blog/1422712/202201/1422712-20220112105940317-1358829651.jpg)
![](https://img2020.cnblogs.com/blog/1422712/202201/1422712-20220112105940012-1912812192.jpg)
![](https://img2020.cnblogs.com/blog/1422712/202201/1422712-20220112105939356-524098030.jpg)
风月都好看,人间也浪漫.