在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写入中英文字符串到文件的方法
May 06 Python
Windows中安装使用Virtualenv来创建独立Python环境
May 31 Python
Python 搭建Web站点之Web服务器与Web框架
Nov 06 Python
Python:Numpy 求平均向量的实例
Jun 29 Python
解决Atom安装Hydrogen无法运行python3的问题
Aug 28 Python
Django中ORM找出内容不为空的数据实例
May 20 Python
python Tornado框架的使用示例
Oct 19 Python
Python jieba结巴分词原理及用法解析
Nov 05 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
Jan 29 Python
使用Python webdriver图书馆抢座自动预约的正确方法
Mar 04 Python
浅谈Python numpy创建空数组的问题
May 25 Python
关于python中模块和重载的问题
Nov 02 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中函数内引用全局变量的方法
2008/10/20 PHP
PHP判断远程url是否有效的几种方法小结
2011/10/08 PHP
PHP 关于访问控制的和运算符优先级介绍
2013/07/08 PHP
PHP Session 变量的使用方法详解与实例代码
2013/09/11 PHP
php二分查找二种实现示例
2014/03/12 PHP
php文件压缩之PHPZip类用法实例
2015/06/18 PHP
Thinkphp实现自动验证和自动完成
2015/12/19 PHP
php通过淘宝API查询IP地址归属等信息
2015/12/25 PHP
用JTrackBar实现的模拟苹果风格的滚动条
2007/08/06 Javascript
js 事件处理函数间的Event物件是否全等
2011/04/08 Javascript
手机端js和html5刮刮卡效果
2020/09/29 Javascript
JavaScript中一些特殊的字符运算
2017/08/17 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
2019/07/19 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
vue实现简易计算器功能
2021/01/20 Vue.js
利用Python为iOS10生成图标和截屏
2016/09/24 Python
Python中enumerate函数代码解析
2017/10/31 Python
python 3.7.0 安装配置方法图文教程
2018/08/27 Python
python调用webservice接口的实现
2019/07/12 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
python能否java成为主流语言吗
2020/06/22 Python
印刷工程专业应届生求职信
2013/09/29 职场文书
服装设计行业个人的自我评价
2013/12/20 职场文书
小学校本培训方案
2014/06/06 职场文书
股指期货心得体会
2014/09/10 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
党员检讨书范文
2014/12/27 职场文书
学习雷锋主题班会
2015/08/14 职场文书
2016教师廉洁从教心得体会
2016/01/13 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python
OpenCV-Python实现油画效果的实例
2021/06/08 Python
一篇文章告诉你如何实现Vue前端分页和后端分页
2022/02/18 Vue.js