将url匹配参数传递给urls.py中的reverse()

时间:2011-08-01 13:35:26

标签: django django-urls

在我的urls.py中

我需要调用一个需要success_url参数的通用CreateView。 “success”URL包含我需要传递给reverse()URL搜索功能的标识符。我从CreateView的URL中获取此参数。请看下面的代码。我需要获取< pk>的值。 “创建”网址中的参数,并将其传递给“成功”网址。这是怎么做到的?

感谢

康斯坦丁

PS:使用django trunk

...
url(r'^path/(?P<pk>\d+)/apply/$',
    generic.CreateView.as_view(form_class=MyForm,
                               success_url=reverse_lazy('success', args=[???<pk>???]),
                               template_name='create.html'), name='create'),
url(r'path/(?P<pk>\d+)/apply/success/$',
    generic.TemplateView.as_view(template_name='success.html'), name='success'),
...

1 个答案:

答案 0 :(得分:2)

the documentation中解释了这一点:

  

success_url可能包含字典字符串格式,将根据对象的字段属性进行插值。例如,您可以使用success_url="/polls/%(slug)s/"重定向到由模型上的slug字段组成的URL。