在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中的Numpy入门教程
Apr 26 Python
spyder常用快捷键(分享)
Jul 19 Python
Python WXPY实现微信监控报警功能的代码
Oct 20 Python
深入浅析python with语句简介
Apr 11 Python
python数字图像处理之骨架提取与分水岭算法
Apr 27 Python
django从请求到响应的过程深入讲解
Aug 01 Python
Python除法之传统除法、Floor除法及真除法实例详解
May 23 Python
使用Python Pandas处理亿级数据的方法
Jun 24 Python
使用python搭建服务器并实现Android端与之通信的方法
Jun 28 Python
python对矩阵进行转置的2种处理方法
Jul 17 Python
简单了解python中的f.b.u.r函数
Nov 02 Python
Django serializer优化类视图的实现示例
Jul 16 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
PHP4实际应用经验篇(1)
2006/10/09 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
2013/07/01 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
php实现的AES加密类定义与用法示例
2018/01/29 PHP
php7下的filesize函数
2019/09/30 PHP
javascript getElementsByClassName 和js取地址栏参数
2010/01/02 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
简介JavaScript中toTimeString()方法的使用
2015/06/12 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
angular route中使用resolve在uglify压缩后问题解决
2016/09/21 Javascript
JavaScript基于自定义函数判断变量类型的实现方法
2016/11/23 Javascript
Vue.js第四天学习笔记(组件)
2016/12/02 Javascript
JavaScript & jQuery完美判断图片是否加载完毕
2017/01/08 Javascript
详解有关easyUI的拖动操作中droppable,draggable用法例子
2017/06/03 Javascript
JavaScript实现新年倒计时效果
2018/11/17 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
JS实现盒子拖拽效果
2020/02/06 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
python 布尔操作实现代码
2013/03/23 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
Python机器学习库scikit-learn安装与基本使用教程
2018/06/25 Python
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
HTML5 canvas基本绘图之绘制曲线
2016/06/27 HTML / CSS
阿拉伯世界最大的电子商务网站:Souq沙特阿拉伯
2016/10/28 全球购物
高级销售求职信
2014/02/21 职场文书
暑期社会实践感言
2014/02/25 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
竞选班干部演讲稿
2014/04/24 职场文书
单位授权委托书范本
2014/09/26 职场文书
承租经营合作者协议书
2014/10/01 职场文书
2014年学习部工作总结
2014/11/12 职场文书
老龙头导游词
2015/02/11 职场文书
Github 使用python对copilot做些简单使用测试
2022/04/14 Python