欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Django正則URL匹配實現(xiàn)流程解析

 更新時間:2020年11月13日 09:29:41   作者:東郭仔  
這篇文章主要介紹了Django正則URL匹配實現(xiàn)流程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

一、引子

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

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

據(jù)說,以前我們使用的方式 ,在seo 時候算是動態(tài)頁面,后面這種方式算靜態(tài)頁面。可能在做搜索優(yōu)化的時候有好處吧。

二、開搞栗子

  忽略掉數(shù)據(jù)庫,先在 views 新建一個用戶字典

  2.1 動態(tài)頁面的栗子

    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

  前端,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="/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>用戶詳細(xì)信息</h1>

  <ul>
    <li>name:{{ info.name }}</li>
    <li>email:{{ info.email }}</li>
    <li>age:{{ info.age }}</li>
  </ul>
</body>
</html>

  結(jié)果:

2.2 下面用 正則表達(dá)式來 搞URL 匹配,靜態(tài)頁面,

  urls

  views ,

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

  結(jié)果

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

  下面再搞一個栗子驗證

參數(shù)位置變換后 ,獲取的數(shù)值也變了

三、分組傳參

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

很顯然,這樣不方便我們在實際的使用中去調(diào)用。那么使用關(guān)鍵字參數(shù)呢,在URL 匹配中就需要分組

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

位置參數(shù)可以在 *arg 中獲取,關(guān)鍵字參數(shù)可以在 **kwargs 中獲取

四、總結(jié)

路由系統(tǒng):URL

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解密Python中的描述符(descriptor)

    解密Python中的描述符(descriptor)

    這篇文章主要介紹了解密Python中的描述符(descriptor),本文詳細(xì)講解了描述符(descriptor)的作用、訪問描述符、對描述符賦值、刪除描述符等內(nèi)容,需要的朋友可以參考下
    2015-06-06
  • Python實現(xiàn)PDF掃描件生成DOCX或EXCEL功能

    Python實現(xiàn)PDF掃描件生成DOCX或EXCEL功能

    這篇文章主要介紹了如何利用Python實現(xiàn)將PDF掃描件轉(zhuǎn)為DOCX或EXCEL文件格式功能,文中的示例代碼講解詳細(xì),需要的小伙伴可以參考一下
    2022-03-03
  • Python實現(xiàn)身份證號碼解析

    Python實現(xiàn)身份證號碼解析

    本文給大家匯總介紹下使用Python實現(xiàn)身份證號碼驗證解析的幾個方法,有需要的小伙伴可以參考下。
    2015-09-09
  • Python讀取視頻的兩種方法(imageio和cv2)

    Python讀取視頻的兩種方法(imageio和cv2)

    這篇文章主要為大家詳細(xì)介紹了Python讀取視頻的兩種方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python實現(xiàn)隱馬爾科夫模型HMM

    python實現(xiàn)隱馬爾科夫模型HMM

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)隱馬爾科夫模型HMM,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • tkinter動態(tài)顯示時間的兩種實現(xiàn)方法

    tkinter動態(tài)顯示時間的兩種實現(xiàn)方法

    這篇文章主要介紹了tkinter動態(tài)顯示時間的兩種實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • win10系統(tǒng)配置GPU版本Pytorch的詳細(xì)教程

    win10系統(tǒng)配置GPU版本Pytorch的詳細(xì)教程

    這篇文章主要介紹了win10系統(tǒng)配置GPU版本Pytorch,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 如何從Python字符串中刪除最后一個分號或者逗號

    如何從Python字符串中刪除最后一個分號或者逗號

    這篇文章主要介紹了從?Python?中的字符串中刪除最后一個分號或者逗號的兩種方法,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-04-04
  • cuda突然不能用了的完美解決方法

    cuda突然不能用了的完美解決方法

    這篇文章主要給大家介紹了關(guān)于cuda突然不能用了的完美解決方法,文中通過圖文介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用cuda具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2023-06-06
  • python實現(xiàn)畫出e指數(shù)函數(shù)的圖像

    python實現(xiàn)畫出e指數(shù)函數(shù)的圖像

    今天小編就為大家分享一篇python實現(xiàn)畫出e指數(shù)函數(shù)的圖像,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11

最新評論