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

在Django的URLconf中使用命名組的方法

 更新時(shí)間:2015年07月18日 11:19:50   投稿:goldensun  
這篇文章主要介紹了在Django的URLconf中使用命名組的方法,Django是Pyhton各色高人氣開發(fā)框架中最為著名的一個(gè),需要的朋友可以參考下

在我們想要捕獲的URL部分上加上小括號(hào),Django 會(huì)將捕獲的文本作為位置參數(shù)傳遞給視圖函數(shù)。 在更高級(jí)的用法中,還可以使用 命名 正則表達(dá)式組來(lái)捕獲URL,并且將其作為關(guān)鍵字參數(shù)傳給視圖。

一個(gè) Python 函數(shù)可以使用關(guān)鍵字參數(shù)或位置參數(shù)來(lái)調(diào)用,在某些情況下,可以同時(shí)進(jìn)行使用。 在關(guān)鍵字參數(shù)調(diào)用中,你要指定參數(shù)的名字和傳入的值。 在位置參數(shù)調(diào)用中,你只需傳入?yún)?shù),不需要明確指明哪個(gè)參數(shù)與哪個(gè)值對(duì)應(yīng),它們的對(duì)應(yīng)關(guān)系隱含在參數(shù)的順序中。

例如,考慮這個(gè)簡(jiǎn)單的函數(shù):

def sell(item, price, quantity):
  print "Selling %s unit(s) of %s at %s" % (quantity, item, price)

為了使用位置參數(shù)來(lái)調(diào)用它,你要按照在函數(shù)定義中的順序來(lái)指定參數(shù)。

sell('Socks', '$2.50', 6)

為了使用關(guān)鍵字參數(shù)來(lái)調(diào)用它,你要指定參數(shù)名和值。 下面的語(yǔ)句是等價(jià)的:

sell(item='Socks', price='$2.50', quantity=6)
sell(item='Socks', quantity=6, price='$2.50')
sell(price='$2.50', item='Socks', quantity=6)
sell(price='$2.50', quantity=6, item='Socks')
sell(quantity=6, item='Socks', price='$2.50')
sell(quantity=6, price='$2.50', item='Socks')

最后,你可以混合關(guān)鍵字和位置參數(shù),只要所有的位置參數(shù)列在關(guān)鍵字參數(shù)之前。 下面的語(yǔ)句與前面的例子是等價(jià):

sell('Socks', '$2.50', quantity=6)
sell('Socks', price='$2.50', quantity=6)
sell('Socks', quantity=6, price='$2.50')

在 Python 正則表達(dá)式中,命名的正則表達(dá)式組的語(yǔ)法是 (?P<name>pattern) ,這里 name 是組的名字,而 pattern 是匹配的某個(gè)模式。

下面是一個(gè)使用無(wú)名組的 URLconf 的例子:

from django.conf.urls.defaults import *
from mysite import views

urlpatterns = patterns('',
  (r'^articles/(\d{4})/$', views.year_archive),
  (r'^articles/(\d{4})/(\d{2})/$', views.month_archive),
)

下面是相同的 URLconf,使用命名組進(jìn)行了重寫:

from django.conf.urls.defaults import *
from mysite import views

urlpatterns = patterns('',
  (r'^articles/(?P<year>\d{4})/$', views.year_archive),
  (r'^articles/(?P<year>\d{4})/(?P<month>\d{2})/$', views.month_archive),
)

這段代碼和前面的功能完全一樣,只有一個(gè)細(xì)微的差別: 取的值是以關(guān)鍵字參數(shù)的方式而不是以位置參數(shù)的方式傳遞給視圖函數(shù)的。

例如,如果不帶命名組,請(qǐng)求 /articles/2006/03/ 將會(huì)等同于這樣的函數(shù)調(diào)用:

month_archive(request, '2006', '03')

而帶命名組,同樣的請(qǐng)求就會(huì)變成這樣的函數(shù)調(diào)用:

month_archive(request, year='2006', month='03')

使用命名組可以讓你的URLconfs更加清晰,減少搞混參數(shù)次序的潛在BUG,還可以讓你在函數(shù)定義中對(duì)參數(shù)重新排序。 接著上面這個(gè)例子,如果我們想修改URL把月份放到 年份的 前面 ,而不使用命名組的話,我們就不得不去修改視圖 month_archive 的參數(shù)次序。 如果我們使用命名組的話,修改URL里提取參數(shù)的次序?qū)σ晥D沒有影響。

當(dāng)然,命名組的代價(jià)就是失去了簡(jiǎn)潔性: 一些開發(fā)者覺得命名組的語(yǔ)法丑陋和顯得冗余。 命名組的另一個(gè)好處就是可讀性強(qiáng)。

相關(guān)文章

  • 使用python獲取(宜賓市地震信息)地震信息

    使用python獲取(宜賓市地震信息)地震信息

    今天這個(gè)項(xiàng)目用到了Python的爬蟲知識(shí),沒有用大家討厭的正則表達(dá)式,而是用一種新的方式解析庫(kù),實(shí)現(xiàn)對(duì)HTML的解析和提取信息,最后又用到前面項(xiàng)目用過(guò)的wxpy庫(kù),實(shí)現(xiàn)了全部功能
    2019-06-06
  • Python實(shí)現(xiàn)最常見加密方式詳解

    Python實(shí)現(xiàn)最常見加密方式詳解

    這篇文章主要介紹了Python實(shí)現(xiàn)最常見加密方式詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • python使用回溯算法實(shí)現(xiàn)列表全排列

    python使用回溯算法實(shí)現(xiàn)列表全排列

    這篇文章主要介紹了python使用回溯算法實(shí)現(xiàn)列表全排列,研究的問(wèn)題是輸入列表L(不含重復(fù)元素),輸出L的全排列,全排列問(wèn)題,可以用回溯法解決,需要的朋友可以參考下
    2023-11-11
  • Python TensorFlow 2.6獲取MNIST數(shù)據(jù)的示例代碼

    Python TensorFlow 2.6獲取MNIST數(shù)據(jù)的示例代碼

    這篇文章主要介紹了Python TensorFlow 2.6獲取MNIST數(shù)據(jù)的的相關(guān)示例,文中有詳細(xì)的代碼示例供大家參考,對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-04-04
  • 只用50行Python代碼爬取網(wǎng)絡(luò)美女高清圖片

    只用50行Python代碼爬取網(wǎng)絡(luò)美女高清圖片

    第一次寫文章,技術(shù)不成熟之處望各位大神輕噴,今天教大家只用50行Python代碼爬取網(wǎng)絡(luò)美女圖片是怎么操作的,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們很有幫助哦,需要的朋友可以參考下
    2021-06-06
  • opencv實(shí)現(xiàn)車牌識(shí)別

    opencv實(shí)現(xiàn)車牌識(shí)別

    這篇文章主要為大家詳細(xì)介紹了opencv實(shí)現(xiàn)車牌識(shí)別,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Python3編程實(shí)現(xiàn)獲取阿里云ECS實(shí)例及監(jiān)控的方法

    Python3編程實(shí)現(xiàn)獲取阿里云ECS實(shí)例及監(jiān)控的方法

    這篇文章主要介紹了Python3編程實(shí)現(xiàn)獲取阿里云ECS實(shí)例及監(jiān)控的方法,涉及Python URL登陸及請(qǐng)求處理相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • Python實(shí)現(xiàn)常見數(shù)據(jù)格式轉(zhuǎn)換的方法詳解

    Python實(shí)現(xiàn)常見數(shù)據(jù)格式轉(zhuǎn)換的方法詳解

    這篇文章主要為大家詳細(xì)介紹了Python實(shí)現(xiàn)常見數(shù)據(jù)格式轉(zhuǎn)換的方法,主要是xml_to_csv和csv_to_tfrecord,感興趣的小伙伴可以了解一下
    2022-09-09
  • Python中SQLAlchemy庫(kù)的使用方法分析

    Python中SQLAlchemy庫(kù)的使用方法分析

    SQLAlchemy 是Python SQL工具包和對(duì)象關(guān)系映射器(ORM),允許Python開發(fā)者在應(yīng)用程序中使用SQL來(lái)交互,而無(wú)需處理數(shù)據(jù)庫(kù)的具體細(xì)節(jié),本文給大家詳細(xì)分析了Python中SQLAlchemy庫(kù)的使用方法,需要的朋友可以參考下
    2024-08-08
  • Python使用gTTS庫(kù)實(shí)現(xiàn)文本轉(zhuǎn)換為語(yǔ)音的詳細(xì)步驟

    Python使用gTTS庫(kù)實(shí)現(xiàn)文本轉(zhuǎn)換為語(yǔ)音的詳細(xì)步驟

    文本轉(zhuǎn)換為語(yǔ)音(Text-to-Speech,簡(jiǎn)稱TTS)技術(shù)是人工智能的重要組成部分,廣泛應(yīng)用于智能助手、導(dǎo)航系統(tǒng)、讀屏軟件和智能家居等領(lǐng)域,TTS技術(shù)使得機(jī)器能夠?qū)嫖淖洲D(zhuǎn)換為自然流暢的語(yǔ)音,本文將介紹如何使用Python的gTTS庫(kù)實(shí)現(xiàn)簡(jiǎn)單的TTS功能,需要的朋友可以參考下
    2024-07-07

最新評(píng)論

景宁| 沿河| 三原县| 卓尼县| 玛曲县| 平和县| 宜章县| 东乡县| 凤翔县| 嘉鱼县| 五家渠市| 玉林市| 丁青县| 洛隆县| 馆陶县| 林西县| 英超| 班玛县| 麟游县| 曲阜市| 竹山县| 南通市| 安图县| 错那县| 翁牛特旗| 河间市| 自贡市| 莆田市| 镇巴县| 阿拉善右旗| 蒙阴县| 抚州市| 拜城县| 永仁县| 海丰县| 灯塔市| 浪卡子县| 湖北省| 库伦旗| 德兴市| 剑河县|