我试过搜索文档,但我无法理解,这两者之间是否有任何区别,或者两者都可以互换使用,只需稍加修改即可。 或重定向仅用于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
答案 0 :(得分:1)
RedirectView.as_view()
- 顾名思义 - 是一种观点。这意味着它接受一个请求作为第一个参数,它可以接受一些其他参数,并返回HttpResponse
。 URL模式必须包含其他URL模式,或直接引用视图。因此RedirectView.as_view()
可以直接挂钩到您的网址配置中。
redirect()
不是视图,因为它不接受请求作为其第一个参数。这意味着它无法挂钩到您的URL配置中。
redirect()
当然可以在视图中使用,然后可以将其连接到您的URL配置中,例如:
def redirect_view(request):
return redirect('/')