path转换器类型
str匹配除了/之外的非空字符串
例: path(“v1/users/str:username”,views.py) 匹配 v1/users/zyyy
int匹配0或者任何正整数,返回一个int
例:path(“page/int:page”,views.py) 匹配 /page/100
slug匹配任意由ASCII字母或数字以及连字符和下划线组成的短标签
例:path(“detail/slug:sl”,views.py) 匹配 detail/this-is-django
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/一到两位数字/一到两位数字/四位数字
本文详细介绍了Django中URL路由的转换器类型,如str、int、slug和path,以及如何在视图中接收对应参数。同时,也讨论了如何使用正则表达式re_path进行更复杂的匹配,例如日期格式的路径。通过实例展示了不同转换器和正则表达式的使用方式,帮助理解Django URL配置的灵活性。
554

被折叠的 条评论
为什么被折叠?



