Django(part5)--url匹配优先级

网友投稿 348 2022-08-31


Django(part5)--url匹配优先级

学习笔记,仅供参考

url匹配优先级

首先我们看下面这两段代码,考虑输入地址django.contrib import adminfrom django.urls import pathfrom . import viewsfrom django.urls import re_path#.表示从当前包里导入urlpatterns = [ path('admin/', admin.site.urls), re_path(r'year/(\d{4})/', views.year), re_path(r'birthday/(\d{4})/', views.page_birth_year), re_path(r'birthday/(\d{4})/(\d{1,2})/(\d{1,2})/', views.page_birth), ]

views.py

def year(request, y): print(type(y)) html = "输入年份为:" + y return HttpResponse(html)def page_birth(request, year, month, day): html = "生日为:"+year+"年"+month+"月"+day+"日" return HttpResponse(html)def page_birth_year(request, year): html = "出身年份为:"+year+"年" return HttpResponse(html)

由于我们的匹配规则是从头(索引为​​0​​​)到尾(索引为​​len(urlpatterns)-1​​​)进行搜索匹配的,所以当我们的url地址匹配到​​birthday/(\d{4})/​​​时,就已经匹配上了,所以就不会再进行匹配了,也就不会匹配到​​birthday/(\d{4})/(\d{1,2})/(\d{1,2})/​​


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Django(part6)--利用正则的组名进行关键字传参
下一篇:总结Bean的三种自定义初始化和销毁方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~