从django视图中的url捕获对象id而不是urls.py?

时间:2013-05-28 09:11:59

标签: django url

我知道django.conf.urls.defaults.url提取正则表达式来获取object-id或其他。

我想知道我是否可以在我看来做同样的事情。

假设我有一个网址规则,例如url(r'^/path1/path2/(?P<my_object_id>\d+)/path3, my_view, name='my_view_name')
在视图中,我有一个匹配网址的字符串,例如/path1/path2/34/path3,如何从字符串中获取34

ie,是否有一个函数接受view_name(或urls.py中相同的url正则表达式),以及一个url字符串并返回位置/关键字参数,因为url()这样做了吗?

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

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您应该能够使用my_object_id引用34。

以下是django tutorial polls app的相关文字:

  

poll_id ='34'部分来自(?P \ d +)。在模式周围使用括号   “捕获”与该模式匹配的文本,并将其作为参数发送给视图   功能; ?P定义将用于标识匹配模式的名称;   和\ d +是匹配数字序列(即数字)的正则表达式。