2010-11-23 69 views
0

我有一個應用程序稱爲投資組合,我試圖繪製出這些頁面,以便我最終獲得一個總是存在的稱爲「畫廊」的固定區域。我已經設置好了,它的工作正常,但畫廊項目映射到page_type區域,如'圖像','視頻'等,所以我想我的根urls.py檢測到這一點,然後發送正確的看法,但我無法弄清楚如何做到這一點Django urls.py傳遞變量的問題

根urls.py

urlpatterns = patterns('', 

(r'^(?P<page_type>[a-zA-Z0-9-]+)/$', include('portfolio.urls')), 
(r'^gallery/', include('portfolio.urls')), 

(r'^admin/(.*)', admin.site.root) 
) 

組合urls.py

urlpatterns = patterns('portfolio.views', 
#(r'^(?P<gallery_type>\d+)/$', 'index'), 
(r'^page/(?P<page_number>[0-9]+)/$', 'index'), 
(r'^(?P<page_category>[a-zA-Z0-9-]+)/$', 'category_index'), 
(r'^(?P<page_category>[a-zA-Z0-9-]+)/page/(?P<page_number>[0-9]+)/$', 'category_index'), 
(r'^$', 'index'), 
) 

它甚至有可能?如何?我找不到任何關於傳遞匹配表達式的信息等。

PLease help。感謝:)

一位朋友指出,我可以直接進入的意見,而不是通過做這樣的應用程序urls.py [code] (r'^(?P [a-zA -Z0-9 - ] +)/(?P [a-zA-Z0-9 - ] +)/ $','portfolio.views.detail'), [/ code]

然後訪問它使用: [代碼] DEF細節(請求,PAGE_TYPE,PAGE_NAME): ... [/代碼]

+0

請清理你的問題你使用的標籤不正確 – zsquare 2010-11-23 13:18:24

+0

我已經清理了代碼,但需要更多信息才能回答問題。你想讓你的網站看起來像什麼?他們會做什麼。 – 2010-11-23 13:40:29

回答

5

用戶必須移動(r'^gallery/', include('portfolio.urls')), BEFORE (r'^(?P<page_type>[a-zA-Z0-9-]+)/$', include('portfolio.urls')),因爲噸他的頁面類型正則表達式也會匹配'gallery /',並且這些模式按照定義的順序進行匹配!