在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采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 Python
python实现合并多个list及合并多个django QuerySet的方法示例
Jun 11 Python
python 弹窗提示警告框MessageBox的实例
Jun 18 Python
python 获取等间隔的数组实例
Jul 04 Python
python基于Selenium的web自动化框架
Jul 14 Python
postman模拟访问具有Session的post请求方法
Jul 15 Python
pyecharts绘制中国2020肺炎疫情地图的实例代码
Feb 12 Python
Python unittest单元测试openpyxl实现过程解析
May 27 Python
如何在VSCode下使用Jupyter的教程详解
Jul 13 Python
python,Java,JavaScript实现indexOf
Sep 09 Python
Python 2.6.6升级到Python2.7.15的详细步骤
Dec 14 Python
Python中request的基本使用解决乱码问题
Apr 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截断标题且兼容utf8和gb2312编码
2013/09/22 PHP
PHP解码unicode编码的中文字符代码分享
2014/08/13 PHP
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
js实现上传图片预览的方法
2015/02/09 Javascript
jQuery过滤选择器用法分析
2015/02/10 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
javascript实现禁止鼠标滚轮事件
2015/07/24 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
AngularJS 指令的交互详解及实例代码
2016/09/14 Javascript
Servlet实现文件上传,可多文件上传示例
2016/12/05 Javascript
AngularJS中scope的绑定策略实例分析
2017/10/30 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
puppeteer库入门初探
2019/01/09 Javascript
vue实现多级菜单效果
2019/10/19 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
微信小程序实现手指拖动选项排序
2020/04/22 Javascript
JS XMLHttpRequest原理与使用方法深入详解
2020/04/30 Javascript
vue项目在线上服务器访问失败原因分析
2020/08/14 Javascript
[06:53]2018DOTA2国际邀请赛寻真——为复仇而来的Newbee
2018/08/15 DOTA
解决Python出现_warn_unsafe_extraction问题的方法
2016/03/24 Python
Tensorflow之构建自己的图片数据集TFrecords的方法
2018/02/07 Python
详解Django中间件的5种自定义方法
2018/07/26 Python
python 函数内部修改外部变量的方法
2018/12/18 Python
Python两台电脑实现TCP通信的方法示例
2019/05/06 Python
Python程序暂停的正常处理方法
2019/11/07 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
django2.2 和 PyMySQL版本兼容问题
2020/02/17 Python
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
什么是数据抽象
2016/11/26 面试题
2013年保送生自荐信格式
2013/11/20 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书