参数能够是:python
默认返回一个临时的重定向, 传递permanent=True能够返回一个永久的重定向.
示例:
你能够用多种方式使用redirect()函数.
传递一个具体的ORM对象(了解便可).
将调用具体ORM对象的get_absolute_url()方法来获取重定向的URL.django
from django.shortcuts import redirect def my_view(request): ... object = MyModel.objects.get(...) return redirect(object)
传递一个视图的名称函数
def my_view(request): ... return redirect("some-view-name", foo="bar")
传递要重定向到的一个具体的网址搜索引擎
def my_view(request): ... return redirect("/some/url/")
固然也能够是一个完整的网址url
def my_view(request): ... return redirect("http://example.com")
默认状况下, redirect()返回一个临时重定向. 以上全部的形式都接收一个permanent参数; 若是设置为True, 将返回一个永久的重定向:spa
def my_view(request): ... object = MyModel.objects.get(...) return redirect(object, permanent=True)
临时重定向(响应状态码: 302)和永久重定向(响应状态码: 301)对普通用户来讲是没什么区别的, 它主要面向的是搜索引擎的机器人。code
A页面临时重定向B页面, 那搜索引擎收录的就是B页面。对象