Django(part6)--利用正则的组名进行关键字传参
生活随笔
收集整理的這篇文章主要介紹了
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 " + agereturn HttpResponse(html)如果我們的地址為:http://127.0.0.1:8000/birthday/1997/9/28,那么"1997"就會傳入year, "9"就會傳入month,"28"就會傳入day,就相當于這樣調用方法:
page_birth(request, "1997", "9", "28")但是如果我們給正則表達式中的每個組起組名,就相當于是關鍵字傳參,比如:
urls.py
urlpatterns = [path('admin/', admin.site.urls),re_path(r'bunny/(?P<age>\d{1,2})/(?P<name>\w+)/', views.page_bunny)]views.py
def page_bunny(request, name, age):html = "Bunny's name is" + name + "and its age is" + agereturn HttpResponse(html)如果我們的地址為:http://127.0.0.1:8000/bunny/10/huang/,服務器就會響應如下頁面:
此時,"10"會被傳入age,"huang"會被傳入name,就相當于這樣調用方法:
page_bunny(request,age = "10", name = "huang")- 注意事項
需要注意的是,每個捕獲的參數都作為一個普通的python字符串傳遞給視圖。就像上面例子中age獲取的是"10"而不是10
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的Django(part6)--利用正则的组名进行关键字传参的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 手机屏幕变滑小妙招
- 下一篇: 贪婪洞窟2深棘在几层(人贪婪的本质是什么