Django中URLconf和include()的協(xié)同工作方法
捕獲的參數(shù)如何和include()協(xié)同工作
一個(gè)被包含的URLconf接收任何來(lái)自parent URLconfs的被捕獲的參數(shù),比如:
# root urls.py from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^(?P<username>\w+)/blog/', include('foo.urls.blog')), ) # foo/urls/blog.py from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^$', 'foo.views.blog_index'), (r'^archive/$', 'foo.views.blog_archive'), )
在這個(gè)例子中,被捕獲的 username 變量將傳遞給被包含的 URLconf,進(jìn)而傳遞給那個(gè)URLconf中的 每一個(gè) 視圖函數(shù)。
注意,這個(gè)被捕獲的參數(shù) 總是 傳遞到被包含的URLconf中的 每一 行,不管那些行對(duì)應(yīng)的視圖是否需要這些參數(shù)。 因此,這個(gè)技術(shù)只有在你確實(shí)需要那個(gè)被傳遞的參數(shù)的時(shí)候才顯得有用。
額外的URLconf如何和include()協(xié)同工作
相似的,你可以傳遞額外的URLconf選項(xiàng)到 include() , 就像你可以通過(guò)字典傳遞額外的URLconf選項(xiàng)到普通的視圖。 當(dāng)你這樣做的時(shí)候,被包含URLconf的 每一 行都會(huì)收到那些額外的參數(shù)。
比如,下面的兩個(gè)URLconf在功能上是相等的。
第一個(gè):
# urls.py from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^blog/', include('inner'), {'blogid': 3}), ) # inner.py from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^archive/$', 'mysite.views.archive'), (r'^about/$', 'mysite.views.about'), (r'^rss/$', 'mysite.views.rss'), )
第二個(gè)
# urls.py from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^blog/', include('inner')), ) # inner.py from django.conf.urls.defaults import * urlpatterns = patterns('', (r'^archive/$', 'mysite.views.archive', {'blogid': 3}), (r'^about/$', 'mysite.views.about', {'blogid': 3}), (r'^rss/$', 'mysite.views.rss', {'blogid': 3}), )
這個(gè)例子和前面關(guān)于被捕獲的參數(shù)一樣(在上一節(jié)就解釋過(guò)這一點(diǎn)),額外的選項(xiàng)將 總是 被傳遞到被包含的URLconf中的 每一 行,不管那一行對(duì)應(yīng)的視圖是否確實(shí)作為有效參數(shù)接收這些選項(xiàng),因此,這個(gè)技術(shù)只有在你確實(shí)需要那個(gè)被傳遞的額外參數(shù)的時(shí)候才顯得有用。 因?yàn)檫@個(gè)原因,這種技術(shù)僅當(dāng)你確信在涉及到的接受到額外你給出的選項(xiàng)的每個(gè)URLconf時(shí)有用的才奏效。
相關(guān)文章
python如何獲取apk的packagename和activity
這篇文章主要介紹了python如何獲取apk的packagename和activity,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01vue.js刷新當(dāng)前頁(yè)面的實(shí)例講解
在本篇文章里小編給各位分享了一篇關(guān)于vue.js刷新當(dāng)前頁(yè)面的實(shí)例講解,有興趣的朋友們可以學(xué)習(xí)參考下。2020-12-12Python學(xué)習(xí)筆記之列表推導(dǎo)式實(shí)例分析
這篇文章主要介紹了Python學(xué)習(xí)筆記之列表推導(dǎo)式,結(jié)合實(shí)例形式分析Python列表推導(dǎo)式的原理、寫法與相關(guān)使用技巧,需要的朋友可以參考下2019-08-08Python制作動(dòng)態(tài)詞頻條形圖的全過(guò)程
說(shuō)起動(dòng)態(tài)圖表,最火的莫過(guò)于動(dòng)態(tài)條形圖了,下面這篇文章主要給大家介紹了關(guān)于Python制作動(dòng)態(tài)詞頻條形圖的全過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-11-11python3 selenium自動(dòng)化 frame表單嵌套的切換方法
今天小編就為大家分享一篇python3 selenium自動(dòng)化 frame表單嵌套的切換方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08