最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Django零基礎(chǔ)入門(mén)之路由path和re_path詳解

 更新時(shí)間:2021年09月02日 12:02:58   作者:孤寒者  
這篇文章主要介紹了Django零基礎(chǔ)入門(mén)之路由path和re_path,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

假設(shè)現(xiàn)在有個(gè)需求:
  需要通過(guò)URL進(jìn)行參數(shù)傳遞,我們?cè)撛趺醋瞿兀?br />     其中有個(gè)方法就是本文要講的內(nèi)容——path和進(jìn)階版的re_path。

urls.py文件中的path和re_path

1.path的基本規(guī)則:

path('test/<xx>/',views.test)

第一個(gè)參數(shù)——test/<xx>/:使用尖括號(hào)(<>)從url中捕獲值。包含一個(gè)轉(zhuǎn)化器類(lèi)型(converter type)。沒(méi)有轉(zhuǎn)化器,將匹配任何字符串,當(dāng)然也包括了/字符。

第二個(gè)參數(shù)——views.test:當(dāng)前面的url匹配成功后,就會(huì)調(diào)用后面的視圖函數(shù)。

但是有個(gè)問(wèn)題就是使用尖括號(hào)從url中捕獲的值默認(rèn)都是str類(lèi)型,如果我們需要強(qiáng)制要求其為別的類(lèi)型(比如:int型)該怎么辦呢?

這就用到了轉(zhuǎn)換器?。?!

2.默認(rèn)支持的轉(zhuǎn)換器有:

str:匹配除了路徑分隔符(/)之外的非空字符串,這是默認(rèn)的形式<str:xx>int:匹配正整數(shù),包含0。slug:匹配字母、數(shù)字以及橫杠、下劃線組成的字符串。uuid:匹配格式化的uuid,如 075194d3-6885-417e-a8a8-6c931e272f00。(這是唯一的!)path:匹配任何非空字符串,包含了路徑分隔符 轉(zhuǎn)換器的作用:默認(rèn)是str轉(zhuǎn)換器:所以如果不設(shè)置轉(zhuǎn)換器,那么接收到的一切值都是str字符串格式,如果要改變這個(gè)參數(shù)類(lèi)型就使用到了轉(zhuǎn)換器!

需要注意的是:path中設(shè)置的參數(shù)名需要和視圖函數(shù)中調(diào)用的參數(shù)名一致?。。?/p>

在這里插入圖片描述

一般情況下,使用path即可匹配我們想要的url中的參數(shù)。但是,如果要匹配的過(guò)于復(fù)雜,使用path中的轉(zhuǎn)換器無(wú)法解決的時(shí)候,就要使用到re_path(實(shí)則是使用正則匹配!)

3.re_path正則匹配:

如果不做任何限制,瀏覽器中輸入的ULR的地址參數(shù)可以任意多,只要包括規(guī)定的路徑即可成功匹配!
——比如:re_path('hello',views.test5),輸入路徑:127.0.0.1:8000/aaahelloaaaa都可成功匹配哦!

如果想限制為何path一樣的效果——URL中的路徑必須一模一樣,否則匹配不到,則需要使用正則語(yǔ)法:
——比如:re_path('^hello/$',views.test5),就只有輸入路徑127.0.0.1:8000/hello/才可成功匹配!

Django中實(shí)戰(zhàn)使用path和re_path

1.urls.py文件:

"""dj_test URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/2.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path,re_path                    #導(dǎo)入re_path,使用正則
from . import views

urlpatterns = [     #主路由
    path('admin/', admin.site.urls),
    path('test/', views.test),    #路徑  關(guān)聯(lián)的視圖

    path('test2/<name>/<int:age>/', views.test2),       #變量默認(rèn)接收的是字符串形式    改變格式是通過(guò)轉(zhuǎn)換器  <int:age>規(guī)定所接收的類(lèi)型為int型


    re_path('^test3/(?P<bb>[0-9]+)',views.test3)	  # 注意這個(gè)格式:test3是路徑固定參數(shù), bb是可以接受路徑中test3/后面參數(shù)的參數(shù)(任意0-9的數(shù)字)!
]

2.views.py視圖函數(shù)文件:

from django.shortcuts import render
from django.http import HttpResponse

# Create your views here.
#視圖操作

def test(request):   #函數(shù)視圖
    return HttpResponse("這里是帥哥")

#url傳參(url參數(shù))
def test2(request,name,age):   #函數(shù)視圖
    return HttpResponse("我叫%s,今年%s歲"%(name,age))

def test3(request,bb):   #函數(shù)視圖
    return HttpResponse("哈哈哈")

3.效果:

在這里插入圖片描述

在這里插入圖片描述

到此這篇關(guān)于Django零基礎(chǔ)入門(mén)之路由path和re_path詳解的文章就介紹到這了,更多相關(guān)Django path re_path內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python解決八皇后問(wèn)題示例

    Python解決八皇后問(wèn)題示例

    這篇文章主要介紹了Python解決八皇后問(wèn)題,簡(jiǎn)單描述了八皇后問(wèn)題的原理并結(jié)合實(shí)例形式分析了Python基于遞歸算法解決八皇后問(wèn)題的相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • Python?文檔解析lxml庫(kù)的使用詳解

    Python?文檔解析lxml庫(kù)的使用詳解

    lxml 是 Python 常用的文檔解析庫(kù),能夠高效地解析 HTML/XML 文檔,常用于 Python 爬蟲(chóng),這篇文章主要介紹了Python?文檔解析:lxml庫(kù)的使用,需要的朋友可以參考下
    2022-09-09
  • 淺談anaconda python 版本對(duì)應(yīng)關(guān)系

    淺談anaconda python 版本對(duì)應(yīng)關(guān)系

    這篇文章主要介紹了淺談anaconda python 版本對(duì)應(yīng)關(guān)系,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • python中的關(guān)鍵字參數(shù)*args和**kwargs詳解

    python中的關(guān)鍵字參數(shù)*args和**kwargs詳解

    這篇文章主要介紹了python中的關(guān)鍵字參數(shù)*args和**kwargs詳解,在定義類(lèi)或函數(shù)時(shí),有時(shí)候會(huì)用到*args和**kwargs,前者叫位置參數(shù),后者叫關(guān)鍵字參數(shù),需要的朋友可以參考下
    2023-11-11
  • python中用Scrapy實(shí)現(xiàn)定時(shí)爬蟲(chóng)的實(shí)例講解

    python中用Scrapy實(shí)現(xiàn)定時(shí)爬蟲(chóng)的實(shí)例講解

    在本篇文章里小編給大家整理的是一篇關(guān)于python中用Scrapy實(shí)現(xiàn)定時(shí)爬蟲(chóng)的實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-01-01
  • 你喜歡籃球嗎?Python實(shí)現(xiàn)籃球游戲

    你喜歡籃球嗎?Python實(shí)現(xiàn)籃球游戲

    今天帶大家學(xué)習(xí)的是關(guān)于Python的相關(guān)知識(shí),文章圍繞著Python如何實(shí)現(xiàn)籃球游戲展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • python 切片和range()用法說(shuō)明

    python 切片和range()用法說(shuō)明

    首先需要明白,可迭代對(duì)象,按照正數(shù)索引(正序)是從0開(kāi)始的,按照負(fù)數(shù)索引(逆序)是從-1開(kāi)始的
    2013-03-03
  • Python continue繼續(xù)循環(huán)用法總結(jié)

    Python continue繼續(xù)循環(huán)用法總結(jié)

    本篇文章給大家總結(jié)了關(guān)于Python continue繼續(xù)循環(huán)的相關(guān)知識(shí)點(diǎn)以及用法,有需要的朋友跟著學(xué)習(xí)下吧。
    2018-06-06
  • pyinstaller?pathex參數(shù)引發(fā)打包no?module?name異常

    pyinstaller?pathex參數(shù)引發(fā)打包no?module?name異常

    這篇文章主要為大家介紹了一個(gè)關(guān)于pyinstaller的?pathex?參數(shù)所引發(fā)的打包執(zhí)行報(bào)no?module?name的異常錯(cuò)誤解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • python與sqlite3實(shí)現(xiàn)解密chrome cookie實(shí)例代碼

    python與sqlite3實(shí)現(xiàn)解密chrome cookie實(shí)例代碼

    這篇文章主要介紹了python與sqlite3實(shí)現(xiàn)解密chrome cookie實(shí)例代碼,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01

最新評(píng)論

松滋市| 彭水| 泸西县| 唐河县| 房产| 长海县| 盐池县| 牡丹江市| 崇州市| 从江县| 从江县| 调兵山市| 松江区| 阿图什市| 东山县| 上林县| 白银市| 沅江市| 刚察县| 青田县| 鄄城县| 南平市| 黑河市| 高淳县| 乐东| 台南县| 承德县| 大兴区| 苏尼特右旗| 林周县| 故城县| 河东区| 萨嘎县| 田东县| 洱源县| 石河子市| 孟连| 张北县| 河源市| 明水县| 会同县|