欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

django如何實(shí)現(xiàn)視圖重定向

 更新時(shí)間:2019年07月24日 10:08:34   作者:苦瓜爆炒牛肉  
這篇文章主要介紹了django如何實(shí)現(xiàn)視圖重定向,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

當(dāng)請(qǐng)求訪問(wèn)到某個(gè)視圖時(shí),我們想讓它重定向到其他頁(yè)面,應(yīng)該怎么做呢?

1.HttpResponseRedirect

需求:當(dāng)我們?cè)L問(wèn)127.0.0.1/my_redirect時(shí)跳到127.0.0.1/user/index

注意:要注冊(cè)相應(yīng)的url

def my_redirect(request):
  return HttpResponseRedirect('/user/index')

2.redirect

需求:同上

def my_redirect(request):
  return redirect('/user/index')

3.reversr函數(shù)動(dòng)態(tài)生成url地址,解決硬編碼維護(hù)麻煩的問(wèn)題(用得較少)

如果你寫(xiě)的視圖函數(shù),有一大堆都是重定向到127.0.0.1/user/index的。

那么當(dāng)你想要改一下它的重定向地址時(shí),讓他重定向到127.0.0.1/user/abc。就要一個(gè)一個(gè)視圖函數(shù)修改了。這樣維護(hù)起來(lái)是不是特別的麻煩?reverse函數(shù)自動(dòng)生成url地址就可以解決這個(gè)問(wèn)題啦。

(1)當(dāng)我們?cè)陧?xiàng)目的urls.py文件和應(yīng)用的urls.py文件都設(shè)置了url。

項(xiàng)目中的urls.py:

url(r'^user/',include("user.urls",namespace="user")),
url(r'^my_redirect',views.my_redirect)

應(yīng)用的urls.py:

url(r'^index$',views.index,name="index")

視圖:

# 重定向
def my_redirect(request):
  url=reverse("user:index") # 先寫(xiě)namespace的值,再寫(xiě)name的值!
  return redirect(url)

現(xiàn)在的情形是訪問(wèn)127.0.0.1/my_redirect,直接重定向到127.0.0.1/user/index。

如果想重定向到127.0.0.1/user/abc的話,直接修改應(yīng)用的urls.py為:

url(r'^abc$',views.my_redirect,name="index")

如果想重定向到127.0.0.1/abc/index的話,直接修改項(xiàng)目的urls.py為:

url(r'^abc/',include("user.urls",namespace="user"))

(2)當(dāng)我們只在項(xiàng)目的urls.py設(shè)置了url。

項(xiàng)目中的urls.py:

url(r'^index',views.index,name="index"),
url(r'^my_redirect$',views.my_redirect)

視圖:

# 重定向
def my_redirect(request):
  url=reverse("index")
  return redirect(url)

現(xiàn)在的情形是訪問(wèn)127.0.0.1/my_redirect時(shí)自動(dòng)跳轉(zhuǎn)到127.0.0.1/index。

如果想重定向到127.0.0.1/abc時(shí),直接修改項(xiàng)目中的urls.py文件為:

url(r'^abc',views.index,name="index")

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論