use*_*200 7 django redirect httpresponse django-views http-redirect
好的,如果你去这里的文件: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)
Run Code Online (Sandbox Code Playgroud)
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')
Run Code Online (Sandbox Code Playgroud)
只需在Brandon的帖子中添加一条关于你的问题的注释,两者之间有什么区别.临时和永久重定向之间的主要区别在于第三方如何看待它.如果Google看到永久重定向,则可能会认为旧网站已消失,并会更新所有匹配以直接访问新网址.有人说谷歌赞成永久重定向,因为垃圾邮件发送者经常使用临时重定向.
临时重定向的情况是例如在您自己的站点上链接到下载镜像/静态文件服务器的URL的内部重写.在这种情况下,重定向站点可能保持不变,而其他服务器地址可能会更改(例如,主机静态内容,无论哪里最便宜).使用永久重定向可能会带来问题(想想手机上的播客播放器会记住此类重定向,并且在移动静态文件服务器时无法识别它).
| 归档时间: |
|
| 查看次数: |
3925 次 |
| 最近记录: |