最新要闻
- 天天播报:注意!泰福泵业将于5月23日召开股东大会
- 人与动物和谐共处!大爷水中游泳:天降白鹭搭便车
- 国产操作系统UOS新版预告 全面支持Intel 13代酷睿:性能飞跃提升
- 世界速讯:ChatGPT:一个里程碑!
- 冲出黎明前的黑暗:国产芯不再当备胎-环球时讯
- 海外玩家疯狂期待国产大作《黑神话:悟空》:金箍棒充满神秘力量
- 抖音小店运营没有头绪?一定要掌握这些技巧!全篇详解! 当前简讯
- 芒果TV五一狂促:会员年卡3折年内新低 仅79元
- 我国小行星防御首次任务计划公布:2030年对小行星动能撞击 世界播报
- 还买啥RTX 4070 AMD铁了心降价:16GB显存RX 6950 XT只要4749元_世界头条
- 豆瓣评分高达9.0!《灌篮高手》遭遇史上最严重盗摄|速读
- 热点评!别急着升级!火狐浏览器112稳定版出内存泄露Bug
- in fear(fearitself)|全球聚焦
- 遵义12岁失联女孩被找到,一细节披露令人不解,嫌疑人已被抓获
- 世纪天鸿涨停 三个交易日机构净买入1.41亿元
- 国产武侠开放世界沙盒生存游戏 《侠乂行:浪迹天涯》预售:128元 环球快资讯
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
Django之路由层 (有名和无名分组 反向解析 路由分发 名称空间)_环球观速讯
目录
一、路由匹配
- django2.X及以上 path第一个参数写什么就匹配什么
- django1.X第一个参数是正则表达式PS:无论什么版本django都自带加斜杠后缀的功能 也可以取消,这里如果在浏览器地址栏没有写完整的/index/,而是/index,这里还是可以找到的,因为Django会帮你二次查找,浏览器会有303重定向的提示码,需要去配置文件中最底下加 APPEND_SLASH = False(默认情况是True)
二、转换器
定义
转换器:将对应位置匹配到的数据转换成固定的数据类型,正常情况下很多网站都会有很多相似的网址 ,如果我们每一个都单独开设路由不合理,所以就需要用转换器的知识来解决django2.X及以上版本路由动态匹配有转换器(五种)
str:匹配除路径分隔符外的任何非空字符串。
int:匹配0或者任意正整数。
slug:匹配任意一个由字母或数字组成的字符串。
uuid:匹配格式化后的UUID。
path:能够匹配完整的URL路径
ps:还支持自定义转换器(自己写正则表达式匹配更加细化的内容)
path("index//", views.index_func), # index_func(实参request对象,info="转换器匹配到的类型转换之后的内容") path("index///", views.index_func) # index_func(实参request对象,info="转换器匹配到的类型转换之后的内容",id="转换器匹配到的类型转换之后的内容")
错误分析:这里报错的原因是因为少接收了一个参数转换匹配之后得到的内容要被视图函数接收到实参request后面,接收几个转换匹配的内容就要相对应传几个参数
(相关资料图)
三、正则匹配
定义
匹配的本质是只要第一个正则表达式能够从用户输入的路由中匹配到数据就算匹配成功会立刻停止路由层其他的匹配直接执行对应的视图函数
- django2.X及以上版本有re_path 第一个参数是正则ps:用之前记得导入模块re_path("^test/$", views.test)django1.X路由匹配使用的是url() 功能与django2.X及以上的re_path()一致
四、正则匹配之无名分组和有名分组
分组定义:把一个正则表达式用小括号括起来
- 无名分组
把括号内匹配的内容当成位置参数传递给视图函数,记得在request参数后面写一个随机位置参数接收
re_path("^test/(\d{4})/", views.test)
- 有名分组
会将括号内正则匹配到的内容当做关键字参数传递给视图函数,记得在request参数后面写自己定义的参数接收
re_path("^test/(?P\d{4})/", views.test)
ps:注意上述的分组不能混合使用!!!(.?)贪婪匹配
五、反向解析
定义
URL搜索地址的时候,我们为了方便后期随意改变路由的名称,可以给每一个路由起一个别名,然后,通过一些方法反向解析这个路由名字,可以得到这个路由对应的地址
- 基本使用
1.路由匹配关系起别名
path("login001/", views.login, name="login_view(随意起个别名)")
2.反向解析语法
html页面上模板语法
{% url "login_view" %}
后端语法
from django.shortcuts import reversereverse("login_view")
六、动态解析之有名和无名分组解析
定义
由于动态改变的参数可以产生很多种情况,所有传具体的值,我们要提前在HTML和后端reverse中规定要传的值
- 无名分组反向解析
1.路由匹配关系起别名
path(r"^index/(\d+)/", views.index, name="xxx")
2.动态反向解析语法后端的反向解析
print(reverse("xxx", args=(122222, ))) # /index/ # 需要指定一个参数,这个参数必须符合正则表达式
前端的反向解析
qqqqq
- 有名分组反向解析
1.路由匹配关系起别名
path(r"^index/(?P\d+)/", views.index, name="xxx")
2.动态反向解析语法后端反向解析
print(reverse("xxx", kwargs={"year":2023}))
前端反向解析
六、路由分发
定义
多个应用都有很多路由与视图函数的对应关系 这个时候可以拆分到各自的路由层中,由于django项目可以有多个app应用,每一个App应用都可以有自己的路由文件,称为子路由。
- 为什么要路由分发?1.当总路由中有非常多的路由时候,就会显得杂乱无章,我们这个时候就可以按照应用进行路由分发,把不同的路由写到对应的应用里面去,然后总路由文件做分发处理。2.django支持每个应用都可以有自己独立的路由层、静态文件、模板层。基于该特性多人开发项目就可以完全解耦合,之后利用路由分发还可以整合到一起。
创建两个app文件夹子路由1:app01下面新建一个urls.py文件
from django.urls import pathfrom app01 import viewsurlpatterns = [ path("index01/",views.index)]
子路由2:app02下面新建一个urls.py文件
from django.urls import pathfrom app01 import viewsurlpatterns = [ path("index02/",views.index)]
总路由:
urlpatterns = [path("app01/", include("app01.urls"))path("app02/", include("app02.urls"))]
ps: 路由中的后缀坚决不能加 $
django支持每个应用都可以有自己独立的路由层、静态文件、模板层。基于该特性多人开发项目就可以完全解耦合,之后利用路由分发还可以整合到一起多个应用都有很多路由与视图函数的对应关系 这个时候可以拆分到各自的路由层中使用路由分发之前 总路由直接干路由与视图函数的匹配path("index/", index)使用路由分发之后 总路由只按照应用名分配匹配方向path("app01/", include("app01.urls"))
名称空间
应用场景
路由分发之后 针对相同的别名能否自动反向解析出不同的应用前缀,默认情况下是无法直接识别应用前缀的,如果想要正常识别区分有两种方式
- 方式1:名称空间
总路由
path("app01/", include(("app01.urls", "app01"), namespace="app01")), path("app02/", include(("app02.urls", "app02"), namespace="app02")),
反向解析
reverse("app01:index_view") reverse("app02:index_view")
- 方式2:别名不冲突即可(建议使用)
多个应用别名不冲突可以用应用名作为别名的前缀子路由
path("index/", views.index, name="app01_index_view") path("index/", views.index, name="app02_index_view")
反向解析
reverse("app01_index_view") reverse("app02_index_view")
关键词:
-
Django之路由层 (有名和无名分组 反向解析 路由分发 名称空间)_环球观速讯
目录一、路由匹配django2 X及以上path第一个参数写什么就匹配什么django1 X第一个参数是正则表达式PS:无论
来源: Django之路由层 (有名和无名分组 反向解析 路由分发 名称空间)_环球观速讯
资讯:分析查询语句:EXPLAIN
上海数据交易所迎来国际板
天天播报:注意!泰福泵业将于5月23日召开股东大会
人与动物和谐共处!大爷水中游泳:天降白鹭搭便车
国产操作系统UOS新版预告 全面支持Intel 13代酷睿:性能飞跃提升
世界速讯:ChatGPT:一个里程碑!
冲出黎明前的黑暗:国产芯不再当备胎-环球时讯
海外玩家疯狂期待国产大作《黑神话:悟空》:金箍棒充满神秘力量
分享总结:开源网关-应用管理篇
KMP算法学习笔记
记录-因为写不出拖拽移动效果,我恶补了一下Dom中的各种距离
每日资讯:【谷歌插件开发】获取当前网站COOKIE并上报HTTP-API
Java中为什么重写equals()也需要重写hashCode()?
抖音小店运营没有头绪?一定要掌握这些技巧!全篇详解! 当前简讯
债市日报:4月25日_环球消息
芒果TV五一狂促:会员年卡3折年内新低 仅79元
我国小行星防御首次任务计划公布:2030年对小行星动能撞击 世界播报
还买啥RTX 4070 AMD铁了心降价:16GB显存RX 6950 XT只要4749元_世界头条
豆瓣评分高达9.0!《灌篮高手》遭遇史上最严重盗摄|速读
热点评!别急着升级!火狐浏览器112稳定版出内存泄露Bug
in fear(fearitself)|全球聚焦
遵义12岁失联女孩被找到,一细节披露令人不解,嫌疑人已被抓获
世纪天鸿涨停 三个交易日机构净买入1.41亿元
国产武侠开放世界沙盒生存游戏 《侠乂行:浪迹天涯》预售:128元 环球快资讯
男子高速要求停车上厕所被拒后跳车 专家科普:极其危险 环球要闻
今日报丨铭瑄RTX 4070 iCraft OC12G瑷珈显卡评测:专为2K高画质而生 DLSS 3畅享百帧光追
天天微速讯:比亚迪盘活腾势!全新猎跑SUV腾势N7盲订7天订单破万
1亿像素仅1399元 荣耀X50i开箱图赏 世界今亮点
三年来北京为3万余名务工人员追发工资5.11亿元-世界速看料
06 内存(上)划分与组织内存-天天简讯
乌合之众再次上演,打工人将被AI一键淘汰?
谈谈持续集成,持续交付,持续部署之间的区别
记录一则ADG备库报错ORA-29771的案例|天天观速讯
全球热消息:数字孪生与元宇宙:虚拟与现实的奇妙对话
恒生指数25日收跌1.71% 互联网科技股集体走低 最资讯
山东海化: 关于会计政策变更的独立意见|焦点简讯
不怕打岔!微信推出“最近阅读”:近期阅读文章一键查
腾讯携手Unity:推出定制化实时导航3D地图|天天热消息
金属马达+双滚珠轴承!酷冷至尊莫比乌斯120 OC风扇图赏|快播报
吉林长春现实版“虎口拔牙” 医生:从业20多年首次
焦点热议:拒还3亿退款!暴雪回应被网易起诉:目前未收到诉状
4月25日涨停板复盘:中科曙光涨停 中国科传11天7板
Java中不同对象调用该实例方法返回值是同一个地址空间吗?|天天最资讯
天天观焦点:Sftp工具类(跨服务器传输)
MySQL 备忘清单_开发速查表分享
头条:使用Dockerfile部署springboot打包jar包
【天天新要闻】仿Django框架-基于wsgiref模块和jinja2模块写一个简单的框架 主流框架简介 动静态网页 Python虚拟环境
火热征集中!全国城市生活垃圾分类标识征集大赛邀你来参与-世界新消息
收评:创指跌1.83%创近半年来新低 锂电池产业链跌幅靠前 天天热点
当前短讯!【财经分析】供应收缩叠加需求前景有望改善 原油止跌反弹
大气!蔚来宣布五一期间所有车主高速免费换电:不限次
47个楼盘2块钱甩卖!恒大汽车:只为专注造车
《古剑奇谭》开发商新作!类银河城游戏《心渊梦境》登陆PC/主机全平台
上海杭州之间或将建世界首条超级高铁:仅9分钟车程 全球热点
起诉苹果后 百度文心一言推出内测专用独立App:支持语音输入
坐下、抬爪、击掌……“毛孩子”们为患者带来欢乐与慰藉!
焦点快看:高质量数仓建模
火山引擎 DataLeap:在数据研发中,如何提升效率?
全球观点:数仓实践丨主动预防-DWS关键工具安装确认
支持全文检索、知识图谱、工作流审批的知识平台_天天时讯
【Mysql】复合主键的索引
安徽宿州:在房交会期间购买90平米以上新房,将给予每套10000元消费券
千万粉网红回应打卡徐州烧烤被网暴:不是黑 问题确实存在
“祝融号”火星车休眠近一年仍未唤醒 设计师回应:可能遭遇不可预知沙尘|微动态
睡个美容觉!马应龙蒸汽眼罩0.99元/片冲量大促 快看点
《赛博朋克2077》自研REDEngine出Bug:开启DLSS 3反而变卡 当前资讯
今日港股异动个股一览:中创新航(03931)现跌超5% 高盛称产能过剩或拖累利润率 产能扩张计划或提高杠杆水平_世界独家
吴镇宇14岁儿子官宣恋情!是日本无数宅男的女神
总裁赵伟与欧冶工业品公司领导座谈交流 时讯
扎克伯格醉心AI:Facebook或将更名MetAI
爱过的人我已不再拥有是什么歌?爱过的人我已不再拥有完整版歌词
终极系列正确观看顺序是什么?终极系列战力指数排名
双探的原型是什么?双探剧情介绍
天津德云鼓曲社升平雅乐特别奉献专场观演攻略 当前播报
光芒程亦治和丽姿第几集复婚的?光芒程亦治的身份是什么?
by2是双胞胎吗?by2个人资料介绍
强强联合,ByteHouse 携手亚马逊云科技,新一代云数仓服务重磅升级 世界新消息
全球通讯!深入理解C#泛型:new与where关键字全解析
使用docker 运行etcd 单实例/集群|环球播资讯
厦门市场监管部门发出“五一”旅游行业价格行为提醒告诫_天天速看
日本强推“排污入海”!学界:全球海洋生态将面临核污染水风险 全球信息
天天微速讯:自动泊车挑战立体车库 奔驰唯一成功 碾压华为、特斯拉
世界新资讯:特斯拉动能回收要彻底取消?博主辟谣:不实、只有两级可调
未上线就创纪录!《原神》开发商新作《崩坏:星穹铁道》iOS 113国登顶-热点
歼-20试飞员评价《长空之王》:很真实的影片
常欣科技2022年亏损30.64万同比由盈转亏 产品销售下降
要闻:彻底服了!这JB,NBA第一硬!黑8,必须黑8!
2023年宁德社保费用参考 宁德社保个人缴费标准是多少|速讯
iFlutter - 加速Flutter开发 环球消息
江西日报经济版头条 | 分宜工业经济高质量发展步履坚实
昭通昭阳富滇村镇银行获批解散 被富滇银行吸收合并 世界要闻
【环球财经】美国第一共和银行一季度业绩显著恶化
宋都基业投资股份有限公司发布公司股票可能被实施退市风险警示的第二次风险提示公告
东北地区及新疆等地有雨雪天气 江南华南有明显降雨过程
2023一卡逛崇川在哪里购买
今日报丨青岛口岸启运港退税政策宣传推介会举行
汽车也能戴“手表” 五菱宝骏悦也预告:行业首次搭载Car-watch
2499元 雷神MIX迷你主机上架:13代i5 比一罐可乐还小 世界快消息
商家浑水摸鱼 买到无码SteamDeck你肯定被骗了 全球观速讯