天天看点

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