【问题标题】:Use Django's RedirectView with a named url使用带有命名 url 的 Django 的 RedirectView
【发布时间】:2012-04-29 21:43:56
【问题描述】:

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

【问题讨论】:

    标签: python django django-urls django-class-based-views


    【解决方案1】:

    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))
    

    【讨论】:

      猜你喜欢
      • 2013-05-09
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-16
      • 2023-03-20
      • 2018-11-28
      • 2017-12-16
      相关资源
      最近更新 更多