參數能夠是: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頁面。對象