我正在尝试将a_detail
重定向到我的a_detail_slug
网址。我想使用已命名的url,但我还没有成功,这就是我尝试过的:
url(r'^a/(?P<pk>\d+)/(?P<filler>[\w-]+)/$', AList.as_view(template_name="a.html"), name="a_detail_slug"),
url(r'^a/(?P<pk>\d+)/$', RedirectView.as_view(url=reverse_lazy("a_detail_slug"),), name="a_detail"),
这是为了捕获任何带有效pk的链接,并使用附加填充重定向到该页面。
答案 0 :(得分:9)
a_detail_slug
需要2个参数(pk
和filler
),但您不会传递任何参数。最简单的方法是扩展RedirectView:
class ARedirect(RedirectView):
def get_redirect_url(self, pk):
filler = get_filler_somehow()
return reverse('a_detail_slug', args=(pk, filler))