在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 相关文章推荐
Python getopt模块处理命令行选项实例
May 13 Python
操作Windows注册表的简单的Python程序制作教程
Apr 07 Python
python采用django框架实现支付宝即时到帐接口
May 17 Python
python查看微信好友是否删除自己
Dec 19 Python
使用urllib库的urlretrieve()方法下载网络文件到本地的方法
Dec 19 Python
10 分钟快速入门 Python3的教程
Jan 29 Python
浅析Python3中的对象垃圾收集机制
Jun 06 Python
Django ORM 查询管理器源码解析
Aug 05 Python
python可视化篇之流式数据监控的实现
Aug 07 Python
django之导入并执行自定义的函数模块图解
Apr 01 Python
使用pytorch 筛选出一定范围的值
Jun 28 Python
Python selenium爬取微信公众号文章代码详解
Aug 12 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
解析php中call_user_func_array的作用
2013/06/07 PHP
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
php缩放gif和png图透明背景变成黑色的解决方法
2014/10/14 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
php如何比较两个浮点数是否相等详解
2019/02/12 PHP
7个Javascript地图脚本整理
2009/10/20 Javascript
再谈javascript图片预加载技术(详细演示)
2011/03/12 Javascript
基于jquery的二级联动菜单实现代码
2011/04/25 Javascript
悬浮数字的实现案例
2014/02/19 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
详谈javascript异步编程
2016/02/21 Javascript
javascript prototype原型详解(比较基础)
2016/12/26 Javascript
用jQuery实现优酷首页轮播图
2017/01/09 Javascript
详解vue2.0 transition 多个元素嵌套使用过渡
2017/06/19 Javascript
解决在layer.open中使用时间控件laydate失败的问题
2019/09/11 Javascript
解决vue项目刷新后,导航菜单高亮显示的位置不对问题
2019/11/01 Javascript
vuex state中的数组变化监听实例
2019/11/06 Javascript
详谈Object.defineProperty 及实现数据双向绑定
2020/07/18 Javascript
[01:07:34]DOTA2-DPC中国联赛定级赛 RNG vs Aster BO3第二场 1月9日
2021/03/11 DOTA
详解Python中的文本处理
2015/04/11 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
tensorflow 获取模型所有参数总和数量的方法
2018/06/14 Python
python每天定时运行某程序代码
2019/08/16 Python
台湾屈臣氏网路商店:Watsons台湾
2020/12/29 全球购物
群众路线教育实践活动方案
2014/02/02 职场文书
优秀毕业生推荐信范文
2014/03/07 职场文书
小学六年级学生评语
2014/04/22 职场文书
小学生优秀评语大全
2014/04/22 职场文书
财务会计专业自荐书
2014/06/30 职场文书
我们的节日中秋节活动总结
2015/03/23 职场文书
小学生表扬稿范文
2015/05/05 职场文书
2015年支教教师工作总结
2015/07/22 职场文书
某某店铺的开业庆典主持词范本
2019/11/25 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
Spring Boot项目传参校验的最佳实践指南
2022/04/05 Java/Android
教你如何用cmd快速登录服务器
2022/06/10 Servers