4

我正在尝试将我的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 的链接,并使用附加的填充符重定向到该页面。

4

1 回答 1

9

a_detail_slug需要 2 个参数 (pkfiller),但您没有传递任何参数。最简单的方法是扩展 RedirectView:

class ARedirect(RedirectView):
    def get_redirect_url(self, pk):
        filler = get_filler_somehow()
        return reverse('a_detail_slug', args=(pk, filler))
于 2012-04-18T13:42:40.690 回答