2013-05-28 96 views
1

我知道django.conf.urls.defaults.url提取正則表達式來獲取object-id或其他。從django視圖中的url捕獲對象ID不在urls.py中?

我在想我是否可以在我看來做同樣的事情。

假設我有作爲url(r'^/path1/path2/(?P<my_object_id>\d+)/path3, my_view, name='my_view_name')
在一個視圖中的URL規則這樣的,我有一個的URL,例如/path1/path2/34/path3相匹配的字符串,我怎樣才能從字符串34

ie,是否有一個函數需要view_name(或urls.py中相同的url正則表達式),並且url字符串並返回位置/關鍵字參數爲url()這樣做?

foo(view_name, url_string): 
    ... 
    return (args, kwargs) 

回答

0

您應該能夠使用my_object_id引用34。

下面是來自django tutorial polls app相關的文字:

的poll_id = '34' 一部分來自(P \ d +?)。圍繞模式使用括號 「捕獲」該模式匹配的文本,並將其作爲參數發送到視圖 函數; ?P定義了將用於識別匹配模式的名稱; 和\ d +是一個正則表達式,用於匹配數字序列(即數字)。