Django 路由系统的反向代理

一、路由系统
(一)路由系统基本格式
urlpatterns = [
path( 要匹配的路径(可以是正则表达式), 视图函数, 参数, 别名)
]
提示: django 1.xx 版本 url(r’^xx$’,)

1、参数说明
(1)正则表达式:一个正则表达式字符串
(2)视图函数:一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串
(3)参数:要传递给视图函数的默认参数(字典形式,可选)
(4)别名:一个可选的name参数
(二)正则表达式详解
(5)在python中使用 re_path模块来写正则表达式
(6)正则表达式的开始使用“^”表示。
(7)正则表达式的结束使用“$”表示。
(8)“r” 元字符串 防止正则表达式中的转义。
(三)正则表达式分组及分组命名匹配
(9)分组匹配:
正则表达式分组匹配是通过小括号”()”来捕获URL中的值并以位置参数形式传递给视图。
在这里插入图片描述
注意:捕获的参数始终是字符串
不管正则表达式匹配的是什么类型,捕获的每个参数都以普通的 Python 字符串传给视图
(10)分组命名匹配:
分组命名正则表达式组的语法是(?Ppattern),
其中name是组的名称,pattern是要匹配的模式。
捕获的值作为关键字参数而不是位置参数传递给视图函数。
在这里插入图片描述
在实际运用中,这样做的好处是 URL 配置的意图稍微明显一些,而且不容易出现由于参数顺序不当导致的缺陷,因为视图函数定义中的参数顺序可以调整。当然,这也牺牲了一些简洁性,有些开发者觉得具名分组句法不美观,而且太啰嗦。
(四)视图函数中指定默认值
在这里插入图片描述
在这里插入图片描述
(五)传递额外参数给视图函数
在这里插入图片描述
在这里插入图片描述
(六)url反向代理(别名)
使用url反向代理,解决硬编码问题。
不使用反向代理:
浏览器访问index9,返回index9页面,点击超链接访问index10页面。
在这里插入图片描述
在这里插入图片描述
使用反向代理:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(七)Url反向解析带参数
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
控制台打印:
在这里插入图片描述
(八)重定向url反向代理
在这里插入图片描述
如果有关键字参数
reverse(‘name名字’, kwargs=字典)
在这里插入图片描述
在这里插入图片描述
(九)命名空间
后面讲到app的时候,再讲命名空间
二、URL 配置搜索的范围
URL 配置搜索的是所请求的 URL,而且把它视作普通的 Python 字符串。搜索的范围不包括 GET 或 POST 参数,抑或域名。
例如对 http://www.example.com/myapp/ 的请求,URL 配置只查找 myapp/;对 http://www.example.com/myapp/?page=3 的请求,URL 配置只查找 myapp/。URL 配置不关心请求方法。也就是说,相同URL 的所有请求方法(POST、GET、HEAD,等等)都交由同一个视图函数处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值