django_url反向解析
************************************************************************************************************************************************************************************************************************
-------------------------------------------------------------------------------------------------------==☆==--------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------元亨利贞--------------------------------------------------------------------------------------------------------------
*************************************************************************************************************************************************************************************************************************
一、在模板中使用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跳转)。
************************************************************************************************************************************************************************************************************************
-------------------------------------------------------------------------------------------------------==☆==--------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------元亨利贞--------------------------------------------------------------------------------------------------------------
*************************************************************************************************************************************************************************************************************************
django_url反向解析的更多相关文章
- 3、DNS服务器功能(正向、反向解析)
实验目的: 建立gr.org域的主名称服务器.解析: 名称 IP 用途 ns.gr.org 192.168.170.3 名称服务器 www.gr.org 192 ...
- DNS正向解析与反向解析
DNS:(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网, 而不去记住能够被机器直接读取的IP数串.通过主机名,最 ...
- 《DNS的正向反向解析》RHEL6
DNS的正向解析: Iptables –F Setenforce 0 安装DNS服务器的软件包: 启动DNS服务器: 修改DNS的配置文件:vim /etc/named.conf 修改DNS的配置:( ...
- DNS—正、反向解析;委派;主从;子域;转发;智能dns等的实现
前言:DNS,耳熟能详的东西,内容太多,小编也不太好讲清,只能写几个实验详解,供大家参考. 一.简单介绍 1.DNS:通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析). 端 ...
- Django之路由分发和反向解析
一.路由分发: 路由分发是指:总路由不再直接做路由与视图函数的对应关系,而是将获取的路由分发给下面的app去处理对应关系 from django.conf.urls import url,includ ...
- Django3 Django 路由分发,反向解析,2.0版本的path
urls配置像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码对应执行. 1.简 ...
- Mysql 反向解析 导致远程访问慢
在云端部署了mysql后,发现远程连接的响应速度非常慢(3-10s) 但是在本地访问数据库却没有问题 经过一番google这才知道原来mysql默认会进行反向解析,即通过ip地址反向向ISP申请获取域 ...
- django中的反向解析
1,定义: 随着功能的增加会出现更多的视图,可能之前配置的正则表达式不够准确,于是就要修改正则表达式,但是正则表达式一旦修改了,之前所有对应的超链接都要修改,真是一件麻烦的事情,而且可能还会漏掉一些超 ...
- Django 反向解析
#1,定义: #随着功能的增加会出现更多的视图,可能之前配置的正则表达式不够准确,于是就要修改正则表达式,但是正则表达式一旦修改了,之前所有对应的超链接都要修改,真是一件麻烦的事情,而且可能还会漏掉一 ...
- django反向解析传参
这两天写代码总是有反向解析传参顺带复习了一下反向解析,以下是简单的反向解析 以下是我最近写的很多的反向解析传参 想要实现点击修改将这些从数据库读取的内容传到另一个页面就要通过id来查询,那么我们就需 ...
随机推荐
- IIS添加MIME类型实现未知文件下载
application/octet-stream 无需重启
- hibernate的校验
//不使用@valid进行校验Set<ConstraintViolation<CommonValidator>> validates = validator.validateV ...
- mybatis 一级、二级缓存机制
MyBatis 提供了对缓存的支持,分为一级缓存和二级缓存 一级缓存是 SqlSession 级别的缓存.在操作数据库时需要构造 SqlSession 对象,在对象中有一个数据结构(HashMap)用 ...
- db2存储过程很慢如何查看
存储过程很慢 ,如何处理? #查看包的情况select r.routineschema, r.routinename, r.routinemodulename, rd.bname as package ...
- Grafana + Prometheus 监控 Zookeeper
废话不多说,前几篇已经相应的介绍Grafana 跟 Prometheus,如有不清楚,请参考: https://www.cnblogs.com/zgz21/p/12054518.html https: ...
- C#中的ReferenceEquals、Equals以及==
https://www.cnblogs.com/ArtofDesign/p/3615212.html C#中有一共有四种相等性判断方法: //Object中定义的三个方法 public stati ...
- Harbor离线安装
一.安装docker-compose 1-1. #安装方式一 curl -SL https://github.com/docker/compose/releases/download/v2.11.2/ ...
- el-scrollbar 饿了么滚动条不出现 bug
el-scrollbar 饿了么滚动条不出现 bug 解决方法:el-scrollbar 的直接子元素样式需要设置为 display: inline-block;
- jmeter的阶梯式加压性能测试 jp@gc - Stepping Thread Group (deprecated)
当测试需求要求是阶梯型的压力测试场景时,使用该线程组. 比如测试场景是 从100并发开始,每60s加压50并发,直至达到目的并发数(中途发现问题随时停掉),之后保持每60s停止50并发的速率关闭 ...
- CSOL大灾变移植记录
在2019年,我玩u3d把玩了一段时间,并制作了一些Demo,其中包括FPSDemo,RPG动作游戏Demo,一些截图如下: 时间到了2020年5月底,我开始玩之前大学研究过的jMonkeyEngin ...