django2,django笔记
学习笔记,仅供参考。
使用常规组名来传递关键字。
在前一篇博客中,我们将route中的信息作为urls.py中的参数传递给了view函数,例如:
urls.py
urlpatterns=[
路径( admin/,admin.site.urls),
re _ path(r birthday/(\ d { 4 })/(\ d { 1,2})/(\d{1,2})/,views.page_birth),
]views.py
def page_bunny(请求,姓名,年龄):
html=Bunny的名字是 name ,年龄是 age
返回HttpResponse(html)如果我们的地址是:http://127 . 0 . 0 . 1:8000/生日/9/28,1997 会传入year, 9 传入Month, 28 传入day,相当于这样调用方法。
page_birth(请求, 1997 , 9 , 28 )
但是,如果我们在正则表达式中命名每个组,就相当于关键字传递,比如:
urls.py
urlpatterns=[
路径( admin/,admin.site.urls),
re_path(rbunny/(?p page \ d { 1,2})/(?P name \w )/,views.page_bunny)
]views.py
def page_bunny(请求,姓名,年龄):
html=Bunny的名字是 name ,年龄是 age
返回HttpResponse(html)如果我们的地址是:http://127 . 0 . 0 . 1:8000/bunny/10/Huang/,服务器会响应如下页面:
此时,“10”将被传递给age,“黄”将被传递给name,相当于这样调用该方法:
page_bunny(请求,年龄=10 ,姓名=黄)
需要注意的事项
注意,每个捕获的参数都作为普通的python字符串传递给视图。如上例所示,年龄是10,而不是10。
转载请联系作者获得转载授权,否则将追究法律责任。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。