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来查询,那么我们就需 ...
随机推荐
- python requests 内置请求模块
- httpclint的传值和访问https
一.StringContent与FormUrlEncodedContent 可参考这篇文章写的非常好: https://blog.csdn.net/lxrj2008/article/details/7 ...
- Docker 详解
1.docker 基础 https://blog.csdn.net/huangjhai/article/details/118854733 2.docker进阶 https://blog.csdn.n ...
- Demo of canvas, canvas optimization and svg
It used the canvas to draw the curves in the old project, and the client felt that it was vague, so ...
- 淘淘商城项目技术点-8:vsftpd
FTP(文件传输协议)全称是:Very Secure FTP Server. Vsftpd是linux类操作系统上运行的ftp服务器软件. vsftp提供三种登陆方式:1.匿名登录 2.本地用户 ...
- 在vite中怎么批量注册组件
1. 在webpack中使用require来获取组件 / 参数:1. 目录 2. 是否加载子目录 3. 加载的正则匹配 //匹配当前文件夹下的所有.vue文件 注册全局组件 const importF ...
- CSS3 box-shadow盒子阴影
inset | offset-x | offset-y | blur-radius | spread-radius | color 阴影在边框内 x轴 y轴 模糊半径 扩散半径 阴影颜色 inset: ...
- knife4j 整合springboot
1.添加依赖 <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife ...
- centos7 yum安装配置Lnmp和负载配置
首先配置防火墙CentOS 7.0默认使用的是firewall作为防火墙1.关闭firewall: systemctl stop firewalld.service #停止firewallsystem ...
- iview table添加input框,且校验
方法一 render渲染 { title: "用户名", key: "stockPrice", render: (h, params) => { retu ...