Django(part6)--利用正则的组名进行关键字传参

网友投稿 268 2022-08-31


Django(part6)--利用正则的组名进行关键字传参

学习笔记,仅供参考

利用正则的组名进行关键字传参

在之前的BlOG中,我们在urls.py里都是用位置传参的方式,将路由里的信息传递给视图函数做参数,比如:

urls.py

urlpatterns = [ path('admin/', admin.site.urls), re_path(r'birthday/(\d{4})/(\d{1,2})/(\d{1,2})/', views.page_birth),]

views.py

def page_bunny(request, name, age): html = "Bunny's name is " + name + " and its age is " + age return HttpResponse(html)

如果我们的地址为:"9"就会传入month,"28"就会传入day,就相当于这样调用方法:

page_birth(request, "1997", "9", "28")

但是如果我们给正则表达式中的每个组起组名,就相当于是关键字传参,比如:

urls.py

urlpatterns = [ path('admin/', admin.site.urls), re_path(r'bunny/(?P\d{1,2})/(?P\w+)/', views.page_bunny) ]

views.py

def page_bunny(request, name, age): html = "Bunny's name is" + name + "and its age is" + age return HttpResponse(html)

如果我们的地址为:= "10", name = "huang")

注意事项

需要注意的是,每个捕获的参数都作为一个普通的python字符串传递给视图。就像上面例子中age获取的是"10"而不是10


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

上一篇:Django(part7)--请求及HttpRequest对象
下一篇:Django(part5)--url匹配优先级
相关文章

 发表评论

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