django cbv重定向到完整的URL

时间:2014-07-18 16:13:57

标签: django django-views

在CBV中处理短网址的正确方法是什么? 简而言之,我的意思是从site/page/pk/重定向到site/page/pk/slug/

目前我正在使用单独的重定向视图:

class PageRedirectView(RedirectView):
    pattern_name = 'display_page'

    def get_redirect_url(self, *args, **kwargs):
        page = get_object_or_404(Page, pk=kwargs['pk'], is_live=True)
        kwargs['slug'] = page.slug
        return super(PageRedirectView, self).get_redirect_url(*args, **kwargs)

其中display_page是urls.py中的名称:

url(r'^(?P<pk>[0-9]*)/(?P<slug>.*)/$', views.display_page, name='display_page'),

但我不确定这是正确的方法。 DetailView中是否有特殊方法用于此类重定向?

0 个答案:

没有答案
相关问题