Django路由配置——path——转换器

path转换器类型

  1. str 匹配除了/之外的非空字符串

例: path(“v1/users/str:username”,views.py) 匹配 v1/users/zyyy

  1. int 匹配0或者任何正整数,返回一个int

例:path(“page/int:page”,views.py) 匹配 /page/100

  1. slug 匹配任意由ASCII字母或数字以及连字符和下划线组成的短标签

例:path(“detail/slug:sl”,views.py) 匹配 detail/this-is-django

  1. path 匹配非空字段,包括路径分隔符/

例:path(“v1/users/path:ph”,views.py) 匹配 /v1/goods/a/b/c

注意:
使用转换器后,要在视图函数中传入对应参数

混合使用path('<int:n>/<str:op>/<int:m>',views.py)

匹配: http://127.0.0.1:8000/任意整数/操作符/任意整数

正则匹配 re_path()
re_path(r'^(?P<x>\d{1,2})/(?P<op>\w+)/(?P<y>\d{1,2})$',views.py)

匹配: http://127.0.0.1:8000/2位整数/操作符/2位整数

例子:
re_path(r'^birthday/(?P<y>\d{4})/(?P<m>\d{1,2})/(?P<d>{1,2})$',views.py)

匹配: http://127.0.0.1:8000/birthday/四位数字/一到两位数字/一到两位数字

re_path(r'^birthday/(?P<m>\d{1,2})/(?P<d>{1,2})/(?P<y>\d{4})$',views.py)

匹配: http://127.0.0.1:8000/birthday/一到两位数字/一到两位数字/四位数字

上一篇:js进阶正则表达式15验证身份证号(|符号的使用:var reg=/^\d{17}[\d|X]$|^\d{15}$/)(str的方法substr)


下一篇:python学习笔记(9)Django timer案例