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来查询,那么我们就需 ...
随机推荐
- codeforces 165C Another Problem on Strings 二分or双指针
题意:给一个01字符串s,找出s包含恰好k个1的连续字串个数 解法: 显然是简单的双指针or二分的题,但由于k=0的存在,使得双指针的边界条件十分难写,所以应该选择二分! #include<bi ...
- [原创] CSS自定义IOS苹果,Android安卓的CheckBox 效果,可以根据文字大小变化而变化,内框显示文字,另外可自定大小,自定颜色
在经过对网上一些自定CheckBox的一番研究之后,现在综合讲一下该样式实现的技巧. 先上图: 图中已展示了多种样式,实现的原理很简单,一个外Box,一个内Box,外Box显示背景色,内Box显示白色 ...
- rest-assured:JUnit5中接口测试参数化的支持之利用EnumSource检查用户消息是否包含特定字段(JSON path $ doesn't match.)
代码:package ghcdgj.restful.framework;import static org.junit.jupiter.api.Assertions.*;import static i ...
- js时间戳转换
第一个参数传时间戳,第二个连接符可以看你的心情,我喜欢'-' formatDate(value, spe = '/') { value = value * 1000 //10位数时间戳要乘1000 1 ...
- PC端 图片宽度是百分比,动态设置图片高度为 6:9
我们知道图片宽度可以设置 百分比,但是高度要给一个固定值 不然不生效,并且产品要求图片显示必须是9:6,这开始确实难倒我了 后面想了一下用js 获取图片宽度 动态的计算高度就行了,超简单 se ...
- es6数组去重、数组中的对象去重 && 删除数组(按条件或指定具体元素 如:id)&& 筛选去掉没有子组件的父组件
// 数组去重 { const arr = [1,2,3,4,1,23,5,2,3,5,6,7,8,undefined,null,null,undefined,true,false,true,'中文' ...
- antd Vue--this.$confirm弹窗使用
看API中this.$confirm弹窗使用不对 讲的也不明确,在此记录下正确的用法 this.$confirm("确认删除文件?",{ type:'error'}).then(( ...
- SSH 秘钥登入
1.打开权限 vim /etc/ssh/sshd_config 去掉 PubkeyAuthentication yes 一行的# 2.重启ssh服务 systemctl restart ss ...
- nodejs发布cesium问题,其他电脑访问发布
在电脑上安装nodejs后在选择的cesium文件中,按住shift和鼠标右键,打开powershell,输入命令行hs -p 1212,完成cesium的发布,出现两个网址,127.0.0.1:12 ...
- 最简单明了的yield from解释
def one(): print('one start') res = yield from two() print('function get res: ', res) return 'one' + ...