接受参数的Django RedirectView

时间:2015-01-23 15:19:27

标签: python django django-views

需要一个从上下文中获取想法并返回重定向网址的视图。

此代码可以正常工作:

class FooView(RedirectView):
    def get(self, request, id, *args, **kwargs):
        ...
        return HttpResponseRedirect(reverse('foo_space:foo', urlconf='bar.system.urls'))
  • 在这种情况下,有没有理由使用RecirectView(而不是View)?
  • 可能有更多的appripriate方式来做到这一点?例如。使用get_redirect_url?

1 个答案:

答案 0 :(得分:1)

绝对值得。看看RedirectView做了什么。例如,它默认重定向所有方法PUTPOSTHEAD等。而View405之外的所有内容都会get

并且肯定会覆盖get_redirect_url以利用上述内容。

通过仅设置pattern_name属性可能更简单,但看起来您需要urlconf kwarg,因此此方法可能无效。

https://docs.djangoproject.com/en/1.7/ref/class-based-views/base/#django.views.generic.base.RedirectView.pattern_name