在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实现简单socket程序在两台电脑之间传输消息的方法
Mar 13 Python
简单介绍Python中的JSON模块
Apr 08 Python
如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
Oct 13 Python
Pandas 对Dataframe结构排序的实现方法
Apr 10 Python
解决seaborn在pycharm中绘图不出图的问题
May 24 Python
Python Numpy:找到list中的np.nan值方法
Oct 30 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
解决python多行注释引发缩进错误的问题
Aug 23 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
Jan 23 Python
pycharm远程连接vagrant虚拟机中mariadb数据库
Jun 05 Python
python读取hdfs上的parquet文件方式
Jun 06 Python
python相对企业语言优势在哪
Jun 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
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
PHP模拟QQ登录的方法
2015/07/29 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
2015/11/27 PHP
ThinkPHP的SAE开发相关注意事项详解
2016/10/09 PHP
通过PHP实现获取访问用户IP
2020/05/09 PHP
jQuery动画效果animate和scrollTop结合使用实例
2014/04/02 Javascript
javascript替换已有元素replaceChild()使用介绍
2014/04/03 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
js实现Select头像选择实时预览代码
2015/08/17 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
vue.js开发环境搭建教程
2017/05/04 Javascript
xmlplus组件设计系列之网格(DataGrid)(10)
2017/05/05 Javascript
BootStrap Select清除选中的状态恢复默认状态
2017/06/20 Javascript
详解微信小程序开发(项目从零开始)
2019/06/06 Javascript
如何对react hooks进行单元测试的方法
2019/08/14 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
基于JavaScript实现简单的轮播图
2021/03/03 Javascript
用Python的SimPy库简化复杂的编程模型的介绍
2015/04/13 Python
python过滤字符串中不属于指定集合中字符的类实例
2015/06/30 Python
python 排序算法总结及实例详解
2016/09/28 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
Python 控制终端输出文字的实例
2019/07/12 Python
Python笔记之facade模式
2019/11/20 Python
python环境下安装opencv库的方法
2020/03/05 Python
Django使用rest_framework写出API
2020/05/21 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
css3 实现滚动条美化效果的实例代码
2021/01/06 HTML / CSS
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
高中生校园生活自我评价
2013/09/19 职场文书
教研活动总结
2014/04/28 职场文书
普通话宣传标语
2014/06/26 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
辅导员学期工作总结
2015/08/14 职场文书
商务英语邮件开头问候语
2015/11/10 职场文书