亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Django正則URL匹配實現流程解析

瀏覽:145日期:2024-09-18 14:59:21

一、引子

在day17 作業中,我們查看主機詳細信息的時候,是通過 在url 中拼接,傳參數。urls 中匹配 path('detail/',views.detail)

Django正則URL匹配實現流程解析

這樣url 變成類似 http://127.0.0.1:8000/detail/?nid=2 今天我們來學習,類似http://127.0.0.1:8000/detail-3.html 這樣的URL

據說,以前我們使用的方式 ,在seo 時候算是動態頁面,后面這種方式算靜態頁面。可能在做搜索優化的時候有好處吧。

二、開搞栗子

忽略掉數據庫,先在 views 新建一個用戶字典

2.1 動態頁面的栗子

views 代碼:

info_dic={ 1:{'name':'zhangsan','email':'zhangsan@163.com','age':22}, 2:{'name':'lisi','email':'lisi@163.com','age':27}, 3:{'name':'wangwu','email':'wangwu@163.com','age':29}, 4:{'name':'laoliu','email':'laoliu@163.com','age':30}, 5:{'name':'chenpi','email':'chenpi@163.com','age':32},}def index(request): return render(request,'index.html',{'info_dic':info_dic})def detail(request): nid=request.GET.get('nid') print(nid,type(nid)) info=info_dic.get(int(nid)) print(info) return render(request,'detail.html',{'info':info})

urls

Django正則URL匹配實現流程解析

前端,index.html,

<!DOCTYPE html><html><head lang='en'> <meta charset='UTF-8'> <title></title></head><body> <h1>用戶信息</h1> <ul> {% for k,v in info_dic.items %} <li><a target='_blank' href='http://www.aoyou183.cn/detail/?nid={{ k }}' rel='external nofollow' >{{ v.name }}</a></li> {% endfor %} </ul></body></html>

前端,detail

<!DOCTYPE html><html><head lang='en'> <meta charset='UTF-8'> <title></title></head><body> <h1>用戶詳細信息</h1> <ul> <li>name:{{ info.name }}</li> <li>email:{{ info.email }}</li> <li>age:{{ info.age }}</li> </ul></body></html>

結果:

Django正則URL匹配實現流程解析

Django正則URL匹配實現流程解析

2.2 下面用 正則表達式來 搞URL 匹配,靜態頁面,

urls

Django正則URL匹配實現流程解析

views ,

直接在函數中傳參數,nid 形式參數。不像之前需要自己到 reques.method 中去取

Django正則URL匹配實現流程解析

結果

Django正則URL匹配實現流程解析

上面的栗子中,我們得知參數是通過形參傳遞的,類似定義函數的形參數,

下面再搞一個栗子驗證

Django正則URL匹配實現流程解析

Django正則URL匹配實現流程解析

Django正則URL匹配實現流程解析

Django正則URL匹配實現流程解析

參數位置變換后 ,獲取的數值也變了

Django正則URL匹配實現流程解析

三、分組傳參

在上面的栗子中,我們知道如果不分組,那么參數就是類似函數的位置參數,靠天吃飯,

很顯然,這樣不方便我們在實際的使用中去調用。那么使用關鍵字參數呢,在URL 匹配中就需要分組

下面搞栗子,變換nid,uid 位置之后,打印的結果是一樣的。

Django正則URL匹配實現流程解析

位置參數可以在 *arg 中獲取,關鍵字參數可以在 **kwargs 中獲取

Django正則URL匹配實現流程解析

四、總結

路由系統:URL

普通url:re_path(’^index/’,view.index),re_path(’^home/’,view.Home.as_view()) 順序傳參:re_path(r’^detail-(d+)-(d+).html/’,views.detail),這個用*args接收 關鍵字傳參:re_path(r’^detail-(?P<nid>d+)-(?P<uid>d+).html/’,views.detail),這個用**kwargs接收,推薦使用這個

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Django
相關文章:
主站蜘蛛池模板: 欧美13处 | 青青久久网 | 97碰碰碰免费公开在线视频 | 自拍亚洲国产 | 国产欧美综合精品一区二区 | 日韩精品第一区 | 国产精品主播在线观看 | 国产精品18久久久久久小说 | 日本久操 | 国产一级毛片亚洲久留木玲 | 亚洲福利网址 | 麻豆亚洲精品一区二区 | 久热re这里只有精品视频 | 亚洲第一视频区 | 久久婷婷丁香七月色综合 | 米奇精品一区二区三区在线观看 | 国产性片在线 | 一级的黄色片 | 高清女主播一区二区三区 | 免费啪视频观在线视频在线 | 国产日产高清欧美一区二区三区 | 国产区一区二 | 国产精品成人久久久久 | 国产黄三级三·级三级 | 免费在线观看一级毛片 | 国产爱久久久精品 | 一级国产特黄aa大片 | 免费在线观看黄色网址 | 久久国产精品最新一区 | 在线成人免费观看国产精品 | 国产亚洲精品bv在线观看 | 一区二区在线视频 | 亚洲一区二区三区四区热压胶 | 永久网站色视频在线观看免费 | 中文字幕日韩在线观看 | 色偷偷亚洲第一成人综合网址 | 国产精品二区页在线播放 | 国产精品自产拍2021在线观看 | 国内外成人免费在线视频 | 黄色网页免费大全 | 国产精品久久久久久久久久久久 |