国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Django中URLconf和include()的協同工作方法

2019-11-25 17:09:44
字體:
來源:轉載
供稿:網友

捕獲的參數如何和include()協同工作

一個被包含的URLconf接收任何來自parent URLconfs的被捕獲的參數,比如:

# root urls.pyfrom django.conf.urls.defaults import *urlpatterns = patterns('', (r'^(?P<username>/w+)/blog/', include('foo.urls.blog')),)# foo/urls/blog.pyfrom django.conf.urls.defaults import *urlpatterns = patterns('', (r'^$', 'foo.views.blog_index'), (r'^archive/$', 'foo.views.blog_archive'),)

在這個例子中,被捕獲的 username 變量將傳遞給被包含的 URLconf,進而傳遞給那個URLconf中的 每一個 視圖函數。

注意,這個被捕獲的參數 總是 傳遞到被包含的URLconf中的 每一 行,不管那些行對應的視圖是否需要這些參數。 因此,這個技術只有在你確實需要那個被傳遞的參數的時候才顯得有用。
額外的URLconf如何和include()協同工作

相似的,你可以傳遞額外的URLconf選項到 include() , 就像你可以通過字典傳遞額外的URLconf選項到普通的視圖。 當你這樣做的時候,被包含URLconf的 每一 行都會收到那些額外的參數。

比如,下面的兩個URLconf在功能上是相等的。

第一個:

# urls.pyfrom django.conf.urls.defaults import *urlpatterns = patterns('', (r'^blog/', include('inner'), {'blogid': 3}),)# inner.pyfrom django.conf.urls.defaults import *urlpatterns = patterns('', (r'^archive/$', 'mysite.views.archive'), (r'^about/$', 'mysite.views.about'), (r'^rss/$', 'mysite.views.rss'),)

第二個

# urls.pyfrom django.conf.urls.defaults import *urlpatterns = patterns('', (r'^blog/', include('inner')),)# inner.pyfrom 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}),)

這個例子和前面關于被捕獲的參數一樣(在上一節就解釋過這一點),額外的選項將 總是 被傳遞到被包含的URLconf中的 每一 行,不管那一行對應的視圖是否確實作為有效參數接收這些選項,因此,這個技術只有在你確實需要那個被傳遞的額外參數的時候才顯得有用。 因為這個原因,這種技術僅當你確信在涉及到的接受到額外你給出的選項的每個URLconf時有用的才奏效。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 钟山县| 梁平县| 高唐县| 上饶县| 谢通门县| 南充市| 沛县| 海丰县| 固安县| 惠安县| 厦门市| 肥东县| 九台市| 绍兴县| 兰西县| 和平区| 芦山县| 梁山县| 平顶山市| 株洲市| 西林县| 灵丘县| 陇南市| 博白县| 景东| 新巴尔虎左旗| 遵化市| 澄江县| 龙州县| 资兴市| 富裕县| 东阳市| 白朗县| 武汉市| 开远市| 花莲市| 宝应县| 嘉鱼县| 定州市| 家居| 合作市|