[django]路由变量与正则表达式
示例:
urlpatterns = [
path('detail.<int:id>.html', detailView, name='detail'),
]
路由变量的类型
示例路由配置了路由变量 id,通过动态改变路由变量id的数值就能生成相应的详情页。
django的路由变量分为字符类型、整型、slug和uuid。说明如下:
- 字符类型:匹配任何非空字符串,但不含斜杠,如果没有指定类型,默认就使用该类型。
- 整型:匹配0和正整数
- slug:可以理解为注释、后缀或附属等概念,常作为路由的解释性字符。比如网页的标题为“13岁的孩子”,其路由地址可以是设置为“13-sui-de-hai-zi”
- uuid:匹配一个uuid格式的对象。为了防止冲突,规定必须使用“-”短横杠,并且所有字母为小写。例如:“978c098-18y238-asd12s-asd2qeasd”
在路由中,如果使用函数 path 定义路由,那么路由变量则使用变量符号“<>”定义。
可选变量
除了在路由地址中设置变量,Django还支持在路由地址外设置变量,比如在路由中添加可选变量 user:
urlpatterns = [
path('.html', commodityView,{'user': 'admin'}, name='detail'),
]
可选变量的规则:
- 可选变量只能以字典的形式表示
- 设置的可选变量只能在视图函数中读取和使用
- 可选变量必须在视图函数和参数 name 之间
正则表达式
示例:
from django.urls import re_path
urlpatterns = [
re_path('(?P<year>[0-9]{4})/(?P<month>[0-9]{2})/(?P<day>[0-9]{2}).html', views.mydate),
]
路由的正则表达式是由路由函数 re_path 定义的,其作用是对路由变量进行截取与判断,正则表达式是以小括号为单位的,每个小括号的前后可以使用斜杠或者其他字符将其分割与结束。
?P是固定格式,字母P必须大写<year>是变量名[0-9]{4}是正则表达式的匹配模式,代表变量的长度为4,只允许取0-9的值。
[django]路由变量与正则表达式的更多相关文章
- Django路由配置之正则表达式详解
正则表达式详解 urls.py from django.conf.urls import url from . import views urlpatterns = [ url(r'^articles ...
- Django路由系统-URLconf配置、正则表达式简述
Django路由系统 1.11版本官方文档 URL配置就像是Django项目的目录,它的本质是URL与URL调用的函数之间的映射表,Django会根据URL配置,在遇到一个URL时,就去执行相应的 ...
- 解析Django路由层URLconf
目录: 一 Django中路由的作用 二 路由的分组 三 路由分发 四 反向解析 五 名称空间 六 Django2.0版的path 一.Django中路由的作用 URL配置(URLconf ...
- Python菜鸟之路:Django 路由、模板、Model(ORM)
Django路由系统 Django的路由系统让Django可以根据URI进行匹配,进而发送至特定的函数去处理用户请求.有点类似nginx的location功能. Django的路由关系分为三种:普通关 ...
- Django路由控制总览
今日内容:(路由层) 1 简单配置 -第一个参数是正则表达式(如果要精准匹配:'^publish/$') -第二个参数是视图函数(不要加括号) -url(r'^admin/', admin.site. ...
- 关于Django路由层简单笔记
Django—路由层 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个U ...
- Django路由系统
django路由系统 简而言之,django的路由系统作用就是使views里面处理数据的函数与请求的url建立映射关系.使请求到来之后,根据urls.py里的关系条目,去查找到与请求对应的处理方法,从 ...
- Django 路由系统
Django 路由系统 基本格式 from django.conf.urls import url urlpatterns = [ url(正则表达式, views视图函数,参数,别名), ] 参数说 ...
- Python学习---Django路由系统【all】
Django URL (路由系统) Django URL (路由系统): URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL模式以及要为该URL模式调用的视图函数之间的映 ...
- 【python】-- Django路由系统(网址关系映射)、视图、模板
Django路由系统(网址关系映射).视图.模板 一.路由系统(网址关系映射) 1.单一路由对应: 一个url对应一个视图函数(类) urls.py: url(r'^test', views.test ...
随机推荐
- 文心一言 VS chatgpt (13)-- 算法导论3.1 8题 3.2 1题
八.可以扩展我们的记号到有两个参数n和m的情形,其中的n和m可以按不同速率独立地趋于无穷.对于给定的函数g(n, m),用O(g(n, m))来表示以下函数集: O(g(n, m)) = 对Ω(g(n ...
- 2021-11-21:map[i][j] == 0,代表(i,j)是海洋,渡过的话代价是2, map[i][j] == 1,代表(i,j)是陆地,渡过的话代价是1, map[i][j] == 2,代表
2021-11-21:map[i][j] == 0,代表(i,j)是海洋,渡过的话代价是2, map[i][j] == 1,代表(i,j)是陆地,渡过的话代价是1, map[i][j] == 2,代表 ...
- 【CF】Round #618 div2 C(文末有技巧)
目录 round #618 div2 C(文末有技巧) 题目: 样例输入输出 思路 小技巧(拿小本本记下来) round #618 div2 C(文末有技巧) 这是题目链接->链接 题目: 原题 ...
- L2-035 完全二叉树的层序遍历
题目描述: 一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树.对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点,这样的树就 ...
- props传值遇Cannot read property getAttribute of undefined异常
今有一个echarts 图标的子组件使用watch 监听接受父组件传入的data,而在父组件页面再次根据日期筛选数据,重新传入子组件进行图表重绘时老实会提示报错 vue.runtime.esm.js? ...
- web自动化10-窗口截图、验证码处理
窗口截图 1.是什么 说明:把当前操作的页面,截图保存到指定位置 2.代码中怎么使用? 说明:在Selenium中,提供了截图方法,我们只需要调用即可 方法: driver.get_screensho ...
- Go 语言 map 是并发安全的吗?
原文链接: Go 语言 map 是并发安全的吗? Go 语言中的 map 是一个非常常用的数据结构,它允许我们快速地存储和检索键值对.然而,在并发场景下使用 map 时,还是有一些问题需要注意的. 本 ...
- cv学习总结(11.6-11.13)
两层全连接神经网络的内容要比想象中的多很多,代码量也很多,在cs231n只用了15分钟讲解的东西我用了一周半的时间才完全的消化理解,这周终于完成了全连接神经网络博客的书写https://www.cnb ...
- Galaxy 生信平台(二):生产环境部署
在 上一篇文章中,我们介绍了适合单个用户进行使用和开发的 Galaxy 在线平台,今天我们来聊一下在为多用户生产环境设置 Galaxy 时,我们应采取的一些可以让 Galaxy 获得最佳性能的额外步骤 ...
- 公路堵车概率模型Python(Nagel-Schreckenberg交通流模型)
路面上有N辆车,以不同速度向前行驶,模拟堵车问题.有以下假设: 假设某辆车的当前速度是 v 如果 前方可见范围内没车,下一秒车速提高到 v+1 如果 前方有车,前车的距离为 d ,且 d < v ...