Django視圖-URLconf

URLconf

用戶通過在瀏覽器的地址欄中輸入網(wǎng)址請求網(wǎng)站晤锥,對于Django開發(fā)的網(wǎng)站,由哪一個視圖進行處理請求吼渡,是由url匹配找到的蛤肌。

在settings.py文件中通過ROOT_URLCONF指定根級url的配置

urlpatterns是一個url()實例的列表

一個url()對象包括:

?????????????? (1)? 正則表達式

?????????????? (2)? 視圖函數(shù)

?????????????? (3)? 名稱name

編寫URLconf的注意:

??????????? 若要從url中捕獲一個值,需要在它周圍設(shè)置一對圓括號

?????? ? ?? 不需要添加一個前導(dǎo)的反斜杠瘤礁,如應(yīng)該寫作'test/'阳懂,而不應(yīng)該寫作'/test/'

??????????? 每個正則表達式前面的r表示字符串不轉(zhuǎn)義

請求的url被看做是一個普通的python字符串,進行匹配時不包括get或post請求的參數(shù)及域名

只匹配?? “/python/1/”? 部分

正則表達式非命名組柜思,通過位置參數(shù)傳遞給視圖

url(r'^([0-9]+)/$', views.detail, name='detail'),

正則表達式命名組岩调,通過關(guān)鍵字參數(shù)傳遞給視圖,本例中關(guān)鍵字參數(shù)為id

url(r'^(?P[0-9]+)/$', views.detail, name='detail'),

參數(shù)匹配規(guī)則:優(yōu)先使用命名參數(shù)赡盘,如果沒有命名參數(shù)則使用位置參數(shù)

每個捕獲的參數(shù)都作為一個普通的python字符串傳遞給視圖

性能:urlpatterns中的每個正則表達式在第一次訪問它們時被編譯号枕,這使得系統(tǒng)相當快

包含其它的URLconfs

在應(yīng)用中創(chuàng)建urls.py文件,定義本應(yīng)用中的urlconf陨享,再在項目的settings中使用include()

from django.conf.urls import include, url

urlpatterns = [

??????? url(r'^', include('booktest.urls', namespace='booktest')),

]

匹配過程:先與主URLconf匹配葱淳,成功后再用剩余的部分與應(yīng)用中的URLconf匹配

在sesstings.py中的配置:

url(r'^booktest/', include('booktest.urls', namespace='booktest')),

在booktest應(yīng)用urls.py中的配置

url(r'^([0-9]+)/$', views.detail, name='detail'),

匹配部分是:/booktest/1/

匹配過程:在settings.py中與“booktest/”成功钝腺,再用“1/”與booktest應(yīng)用的urls匹配

使用include可以去除urlconf的冗余

參數(shù):視圖會收到來自父URLconf、當前URLconf捕獲的所有參數(shù)

在include中通過namespace定義命名空間赞厕,用于反向解析(后面介紹反向解析)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末艳狐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子皿桑,更是在濱河造成了極大的恐慌毫目,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诲侮,死亡現(xiàn)場離奇詭異镀虐,居然都是意外死亡,警方通過查閱死者的電腦和手機沟绪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進店門粉私,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人近零,你說我怎么就攤上這事诺核。” “怎么了久信?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵窖杀,是天一觀的道長。 經(jīng)常有香客問我裙士,道長入客,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任腿椎,我火速辦了婚禮桌硫,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘啃炸。我一直安慰自己铆隘,他們只是感情好,可當我...
    茶點故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布南用。 她就那樣靜靜地躺著膀钠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪裹虫。 梳的紋絲不亂的頭發(fā)上肿嘲,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天,我揣著相機與錄音筑公,去河邊找鬼蜜徽。 笑死躏救,一個胖子當著我的面吹牛堕油,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播际长,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼兴泥!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起虾宇,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤搓彻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后嘱朽,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體旭贬,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年搪泳,在試婚紗的時候發(fā)現(xiàn)自己被綠了稀轨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,654評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡岸军,死狀恐怖奋刽,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情艰赞,我是刑警寧澤佣谐,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站方妖,受9級特大地震影響狭魂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜党觅,卻給世界環(huán)境...
    茶點故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一雌澄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧杯瞻,春花似錦镐牺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至沛厨,卻和暖如春宙地,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逆皮。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工宅粥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人电谣。 一個月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓秽梅,卻偏偏與公主長得像抹蚀,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子企垦,可洞房花燭夜當晚...
    茶點故事閱讀 43,543評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 已經(jīng)同步到gitbook环壤,想閱讀的請轉(zhuǎn)到gitbook: Django 1.10 中文文檔 URL dispatc...
    leyu閱讀 14,193評論 0 16
  • 切換到創(chuàng)建項目的目錄 cd C:\Users\admin\Desktop\DjangoProject創(chuàng)建名為pr...
    在努力中閱讀 3,263評論 2 3
  • 一、Django框架前言知識: 1钞诡、C/S和B/S的區(qū)別: C/S結(jié)構(gòu)軟件:客戶端/服務(wù)端軟件郑现,即客戶端要自己下載...
    月下獨酌123閱讀 4,513評論 0 36
  • ? 視圖接受Web 請求并且返回 Web 響應(yīng)? 視圖就是一個python 函數(shù),被定義在 views.py 中?...
    流藍淺閱讀 446評論 0 1
  • 建立第一個項目 新建工程 進入你要建立工程的目錄荧降,鍵入如下命令(其中mysite是你的項目名稱): django-...
    小小白老鼠閱讀 712評論 0 1