天天看點

url反向解析

- 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' ) )方法         動态擷取(反向解析)