使用 Django 重定向和 HttpResponseRedirect 有什么区别?

通常使用哪一种更好?

写作有什么好处:

return redirect(my_url)

完毕:

return HttpResponseRedirect(my_url)

还是直接的化名? 有什么区别吗? 哪个更像蟒蛇或姜戈?

20699 次浏览

从文件-

返回一个 HttpResponseRedirect转换为传递参数的适当 URL。

从定义上来说是一样的。这就是捷径的用途。两者是一样的。

快捷方式通常写在实际 API 的上一级,所以 redirect用参数 permanent=False封装了 HttpResponseRedirectHttpResponsePermanentRedirect

redirect上使用 HttpResponseRedirect没有什么大的缺点,希望这样就可以解决这个问题。

这两者是有区别的:

HttpResponseRedirect的情况下,第一个参数只能是 url

最终返回一个 HttpResponseRedirectredirect可以接受一个 modelview或者 url作为它的“ to”参数。因此,它在“重定向”到什么方面更加灵活一些。

我也喜欢 redirect更短的方式,所以我会用 redirect而不是 HttpResponseRedirect

不过两者都可以使用。