1

我知道 django.conf.urls.defaults.url 提取正则表达式来获取对象 ID 或其他。

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

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

即,是否有一个函数采用 view_name(或 urls.py 中的相同 url 正则表达式)和一个 url 字符串并返回位置/关键字参数url()

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

2 回答 2

1

您可以使用django.core.urlresolvers.resolve.

于 2013-05-28T09:16:44.743 回答
0

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

以下是django 教程民意调查应用程序中的相关文本:

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

于 2013-05-28T14:15:37.693 回答