這篇文章帶給大家的內容是關於如何使用Django進行URLS反向解析?有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
URL 與URI
URL : 統一資源定位符 相當於絕對路徑
URI : 統一資源標誌符 相當於相對路徑
- 多個App下URL的設定方法
工程目錄下的設定
url(r'^App/',views.hello)
這裡需要導包,用alt enter鍵導套件
App專案下
url(r'^getinfo/',views.getinfo)
這裡也需要導包,用alt enter鍵導包
以上如果不加'/' url在做正則匹配的時候,就會出現匹配出錯的情況,拿到假的頁面
- get請求帶參 URl帶參傳遞
url('?P<參數>正規匹配'/,views.函數名稱) 綁定參數
例如透過百度搜美女 http://www.baidu.com/?wd="美女"
需要在url後面跟上 "?請求參數"
帶參傳遞
關鍵字參數寫法
(?P<year>\d+) url(r'^hi/(?P<year>\d+)/(?P<month>\d+)/(? P<day>\d+)/',views.gethi)
- URL 反向解析:
1,什麼是url 反向解析
動態取得url的一種方式. 例如: 動態取得別的電影網站位址,如果對方改變了網址,我們也需要修改,但是如果使用了反向解析,動態取得的情況下 不管對方如何改變,我們都能拿到
2, 反向解析配置:
在App目錄urls下設定加上name屬性 name ='xxx'
在工程目錄下的urls裡面,再給配置一個namespace="名字自訂" 配置時要注意,namespace是在include裡面
url(r'^Two/', include('Two.urls',namespace="fan"))
3, 跳躍方式:
- 如果需要帶參跳轉,如果參數是位置參數,使用args參數
- 如果參數是關鍵字參數,使用kwargs 以字典的形式傳送參數
超链接跳转,: <a href = ' {% url ' namespace: name ' %}'></a>
在視圖函數views中跳轉,:
1, 使用HttpResponseRedirect('路徑位址')--->固定取得(位址值固定不變)
2, 使用HttpResponseRedirect( reverse( 'namespace: name' ) )方法 動態取得(反向解析)
以上是如何使用Django進行URLS反向解析?的詳細內容。更多資訊請關注PHP中文網其他相關文章!