在Django中URL正则表达式匹配的方法


Posted in Python onDecember 20, 2018

Django框架中的URL分发采用正则表达式匹配来进行,以下是正则表达式的基本规则:

在Django中URL正则表达式匹配的方法

官方演示代码:

from django.conf.urls import url

from . import views

urlpatterns = [
 url(r'^articles/2003/$', views.special_case_2003),
 url(r'^articles/([0-9]{4})/$', views.year_archive),
 url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive),
 url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail),
]

注意:

不需要在前面加上‘/'(slash),举个栗子,要写成'^articles', 而不是' ^/articles'。

在之前的'r'字母告诉Pyhton解释器这个String是一个“raw”— 原始字符串

注:

Python中原始字符串(raw)的产生正是由于有正则表达式的存在。原因是ASCII 字符和正则表达式特殊字符间所产生的冲突。比如,特殊符号“\b”在 ASCII 字符中代表退格键,但同时“\b”也是一个正则表达式的特殊符号,代表“匹配一个单词边界”。

为了让RE 编译器把两个字符“\b”当成你想要表达的字符串,而不是一个退格键,你需要用另一个反斜线对它进行转义,即可以这样写:“\b”。

但这样做会把问题复杂化,特别是当你的正则表达式字符串里有很多特殊字符时,就更容易令人困惑了。在第六章,我们曾介绍过原始字符串,它经常被用于简化正则表达式的复杂程度。事实上,很多Python 程序员在定义正则表达式时都只使用原始字符串。

以上这篇在Django中URL正则表达式匹配的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python3.5使用tkinter制作记事本
Jun 20 Python
Python基于PyGraphics包实现图片截取功能的方法
Dec 21 Python
python中set()函数简介及实例解析
Jan 09 Python
使用Python实现windows下的抓包与解析
Jan 15 Python
TensorFlow实现模型评估
Sep 07 Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 Python
OpenCV图像颜色反转算法详解
May 13 Python
详解python websocket获取实时数据的几种常见链接方式
Jul 01 Python
python通过TimedRotatingFileHandler按时间切割日志
Jul 17 Python
Python日志处理模块logging用法解析
May 19 Python
python json.dumps() json.dump()的区别详解
Jul 14 Python
python实现三种随机请求头方式
Jan 05 Python
python采集微信公众号文章
Dec 20 #Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
Dec 19 #Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
Dec 19 #Python
python3实现网络爬虫之BeautifulSoup使用详解
Dec 19 #Python
python爬虫超时的处理的实例
Dec 19 #Python
pycharm中使用anaconda部署python环境的方法步骤
Dec 19 #Python
Django框架模板注入操作示例【变量传递到模板】
Dec 19 #Python
You might like
Windows下PHP的任意文件执行漏洞
2006/10/09 PHP
PHP调用wsdl文件类型的接口代码分享
2014/11/19 PHP
php批量删除超链接的实现方法
2015/10/19 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
不错的新闻标题颜色效果
2006/12/10 Javascript
Mootools 1.2教程 定时器和哈希简介
2009/09/15 Javascript
最短的IE判断代码
2011/03/13 Javascript
js为鼠标添加右击事件防止默认的右击菜单弹出
2013/07/29 Javascript
js AppendChild与insertBefore用法详细对比
2013/12/16 Javascript
javascript实现复选框超过限制即弹出警告框的方法
2015/02/25 Javascript
jQuery中 attr() 方法使用小结
2015/05/03 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
js图片轮播手动切换效果
2015/11/10 Javascript
JavaScript判断用户名和密码不能为空的实现代码
2016/05/16 Javascript
JavaScript——DOM操作——Window.document对象详解
2016/07/14 Javascript
vue实现表格数据的增删改查
2017/07/10 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
Vue父子之间值传递的实例教程
2020/07/02 Javascript
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
[01:04:05]VG vs Newbee 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python实现利用最大公约数求三个正整数的最小公倍数示例
2017/09/30 Python
Python正则表达式实现简易计算器功能示例
2019/05/07 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
工商治理实习生的自我评价分享
2014/02/20 职场文书
春节联欢会主持词
2014/03/24 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
乡镇保密工作责任书
2014/07/28 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
离婚协议书的范本
2015/01/27 职场文书
教代会开幕词
2015/01/28 职场文书
学习雷锋精神倡议书
2015/04/27 职场文书
餐饮服务食品安全承诺书
2015/04/29 职场文书
PHP中国际化的字符串排序和比较对象详解
2021/08/23 PHP