************************************************************************************************************************************************************************************************************************
-------------------------------------------------------------------------------------------------------==☆==--------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------元亨利贞--------------------------------------------------------------------------------------------------------------
*************************************************************************************************************************************************************************************************************************
一、在模板中使用url
1、绝对地址
即将需要跳转的url完整地写在模板中。当用户点击此链接时,将直接访问完整的url地址。例如:http://127.0.0.1:800/page/1
2、相对地址
(1)相对地址以 ‘ / ’ 开头,例如‘/page2/2’。浏览器会将当前地址栏里面的协议、ip、端口加上这个地址作为最终的访问你地址。例如,假设当前页面地址栏中的内容为:http://127.0.0.1:8000/page1/1。相对地址内容为 ‘/page2/2’,则当用户点击此连接时,浏览器会跳转至地址:http://127.0.0.1:8000/page2/2。
(2)相对地址不以 ‘ / ’开头。浏览器会将当前url最后一个/之前的内容加上该相对地址,作为最终访问地址。例如,假设当前页面地址栏中的内容为:http://127.0.0.1:8000/page1/1。相对地址内容为 ‘page2/2’,则当用户点击此连接时,浏览器会跳转至地址:http://127.0.0.1:8000/page2/page2/2。
3、三种地址访问实战
(1)在模板中构建三种不同的地址。
(2)构建相应的视图函数
(3)在路由中绑定相应的视图函数
(4)测试
主页面
点击绝对地址
点击带/的相对地址
点击不带/的相对地址
从测试结果来看,都可以正常地跳转。
二、url的反向解析
1、定义
2、作用:即通过url的别名来进行关联,不用再去考虑是通过绝对地址还是相对地址来绑定,可以简化开发流程。
3、使用方法
通过在模板中直接调用地址的别名,如果需要传参则直接传递即可。如下所示。
4、实战
(1)在视图函数中定义别名
(2)在模板中调用别名
(3)测试
点击“反向解析的地址”,跳转成功。
4、优势
即使路由地址发生改变,只要别名不发生改变,则视图函数和模板中的地址不用发生任何改变,可以实现动态地获取最新的地址路由。
三、在视图函数中使用url反向解析
1、在视图函数中使用反向解析与在模板中使用类似,但是需要借助django的包文件实现。
使用方法如下。
2、实战
(1)在路由中定义一个别名。例如以上次创建的音乐和体育网站作为对象。
(2)在视图函数中添加资源重定向的逻辑,并指定重定向的路径是(1)中绑定的路由。
(3)测试
点击“反向解析的地址”
成功跳转至之前设定的页面。
3、在视图函数中运用url反向解析技术,主要用来进行资源的重定向(302跳转)。
************************************************************************************************************************************************************************************************************************
-------------------------------------------------------------------------------------------------------==☆==--------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------元亨利贞--------------------------------------------------------------------------------------------------------------
*************************************************************************************************************************************************************************************************************************