RedirectView.as_view V / s重定向

时间:2017-05-31 19:10:25

标签: django redirect

我试过搜索文档,但我无法理解,这两者之间是否有任何区别,或者两者都可以互换使用,只需稍加修改即可。 或重定向仅用于return语句。我尝试搜索文档但找不到。任何帮助,将不胜感激。 https://docs.djangoproject.com/en/1.11/ref/class-based-views/base/#redirectview https://docs.djangoproject.com/en/1.11/topics/http/shortcuts/#redirect

1 个答案:

答案 0 :(得分:1)

RedirectView.as_view() - 顾名思义 - 是一种观点。这意味着它接受一个请求作为第一个参数,它可以接受一些其他参数,并返回HttpResponse。 URL模式必须包含其他URL模式,或直接引用视图。因此RedirectView.as_view()可以直接挂钩到您的网址配置中。

redirect()不是视图,因为它不接受请求作为其第一个参数。这意味着它无法挂钩到您的URL配置中。

redirect()当然可以在视图中使用,然后可以将其连接到您的URL配置中,例如:

def redirect_view(request):
    return redirect('/')