django 重定向


  重定向分為永久性重定向和暫時性重定向,在頁面上體現的操作是瀏覽器會從一個頁面自動跳轉到另一個頁面。比如,用戶訪問了一個需要權限的頁面,但是該用戶當前沒有登錄,因此我們應該給他重定向到登錄頁面。
  永久性重定向:http的狀態碼是301,多用於舊網址被廢棄了,要轉到一個新的網址確保用戶的訪問,最經典的就是京東網站,你輸入:www.jingdong.com的時候,會被重新定向到:www.jd.com。
  暫時性重定向:http狀態碼是302,表示頁面的跳轉是暫時性的。比如,用戶訪問了一個需要權限的頁面,但是該用戶當前沒有登錄,應該給他重定向到登錄頁面。這種情況下應該用暫時性重定向。

  在django中,重定向是使用redirect(to,*args,permanent=False,**kwargs)來實現的。to是一個url,permanent代表的是這個重定向是否是一個永久的重定向,默認是False。實例代碼如下:
  

1 from django.http import HttpResponse
2 from django.shortcuts import reverse,redirect
3     
4 def profile(request):
5      user = request.user
6      if user:
7         return HttpResponse("歡迎%s,來到個人中心"% user.username)
8       else:
9         return redirect(reverse("user:login"))


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM