Pycharm開發(fā)Django的重定向
重定向
重定向分為永久性重定向和暫時性重定向,在頁面上體現(xiàn)的操作就是瀏覽器會從一個頁面自動跳轉到另外一個頁面。比如用戶訪問了一個需要權限的頁面,但是該用戶當前并沒有登錄,因此我們應該給他重定向到登錄頁面。
永久性重定向:http的狀態(tài)碼是301,多用于舊網(wǎng)址被廢棄了要轉到一個新的網(wǎng)址確保用戶的訪問,最經(jīng)典的就是京東網(wǎng)站,你輸入www.jingdong.com的時候,會被重定向到www.jd.com,因為jingdong.com這個網(wǎng)址已經(jīng)被廢棄了,被改成jd.com,所以這種情況下應該用永久重定向。
暫時性重定向:http的狀態(tài)碼是302,表示頁面的暫時性跳轉。比如訪問一個需要權限的網(wǎng)址,如果當前用戶沒有登錄,應該重定向到登錄頁面,這種情況下,應該用暫時性重定向。
在Django中,重定向是使用redirect(to, *args, permanent=False, **kwargs)來實現(xiàn)的。to是一個url,permanent代表的是這個重定向是否是一個永久的重定向,默認是False。關于重定向的使用。請看以下例子:
from django.shortcuts import reverse,redirect
def profile(request):
? ? if request.GET.get("username"):
? ? ? ? return HttpResponse("%s,歡迎來到個人中心頁面!")
? ? else:
? ? ? ? return redirect(reverse("user:login"))
標簽: