如何使用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反向解析?的详细内容,更多请关注其它相关文章!