好的,如果您转到此处的文档:
https://docs.djangoproject.com/en/dev/topics/http/shortcuts/
并向下滚动以查看上面说的redirect()的最后一个示例
“默认情况下,redirect()返回一个临时重定向。以上所有形式均接受一个永久参数;如果设置为True,则将返回一个永久重定向:”
现在,临时重定向和永久重定向之间有什么区别?我正在使用它,以便当用户登录并通过身份验证时,将其重定向到登录页面。我应该改用HttpResponseRedirect()吗?使用redirect()而不是HttpResponseRedirect()有什么好处吗?
最佳答案
有两种方法可以返回301永久重定向:
from django.shortcuts import redirect
def my_view(request):
# some code here
return redirect('/some/url/', permanent=True)
https://docs.djangoproject.com/en/1.5/topics/http/shortcuts/#redirect
或者:
from django.http import HttpResponsePermanentRedirect
def my_view(request):
# some code here
return HttpResponsePermanentRedirect('/some/url')
https://docs.djangoproject.com/en/1.5/ref/request-response/#django.http.HttpResponsePermanentRedirect
关于django:临时重定向和永久重定向之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19073353/