Django裡URL配置中name引數的作用

昀溪發表於2018-09-12

先看一下URL配置,新增瞭如下內容:

修改檢視views.py

增加一個頁面

現在要求是在name頁面裡面增加一個連結,顯示詳細資訊。修改name頁面

這個功能實現了,可是之前新增的那個name引數是幹嘛的呢?到目前為止還沒用。下面就開始用了,你看上面那個<a>標籤裡面的URL地址是硬編碼/mysite/details/,這裡就有一個問題,如果某種需求導致你必須要修改詳情頁的URL,不再是/mystie/details了,如果是硬編碼你就需要修改每一個引用了這個URL的HTML頁面,這顯然很麻煩啊。有沒有更好的辦法呢?其實就是變數。下圖就是我們之前定義的名字。

下面我們要在頁面中使用它來替代硬編碼,修改name.html頁面

 

 

訪問結果還是一樣的。這時候由於name頁面使用的是名字,哪怕detailes頁面的URL換了也沒有問題,因為你只需要修改url配置就可以,如下圖紅色箭頭。

 

這裡又有一個問題,details頁面可能有多個,如果只寫名字它怎麼知道是人的詳情頁還是其他的詳情頁呢?這就需要用到名稱空間。
修改mystie的url配置,如下圖

修改name頁面

加一個字首也就是那個名稱空間的名字,這樣哪怕不同APP中有多個叫做details的頁面也不用擔心會搞錯。所以name引數到底是做什麼的相信你已經有了認識,其實可以理解為就是一個變數,這個變數的值就是URL。

相關文章