在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 HTMLParser模块解析html获取url实例
Apr 08 Python
python基于multiprocessing的多进程创建方法
Jun 04 Python
python探索之BaseHTTPServer-实现Web服务器介绍
Oct 28 Python
matlab中实现矩阵删除一行或一列的方法
Apr 04 Python
Python 实现异步调用函数的示例讲解
Oct 14 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
Django 创建/删除用户的示例代码
Jul 24 Python
django框架两个使用模板实例
Dec 11 Python
keras训练浅层卷积网络并保存和加载模型实例
Jul 02 Python
Python是怎样处理json模块的
Jul 16 Python
详解Pandas 处理缺失值指令大全
Jul 30 Python
pycharm Tab键设置成4个空格的操作
Feb 26 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实现socket推送技术的示例
2017/12/20 PHP
PHP PDOStatement::rowCount讲解
2019/02/01 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
javascript中使用replaceAll()函数实现字符替换的方法
2010/12/25 Javascript
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
jquery制作LED 时钟特效
2015/02/01 Javascript
原生js和jquery实现图片轮播淡入淡出效果
2015/04/23 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
Jquery 效果使用详解
2015/11/23 Javascript
深入浅析react native es6语法
2015/12/09 Javascript
js跨域资源共享 基础篇
2016/07/02 Javascript
JavaScript鼠标事件,点击鼠标右键,弹出div的简单实例
2016/08/03 Javascript
js设置和获取自定义属性的方法
2016/10/20 Javascript
NodeJs中express框架的send()方法简介
2017/06/20 NodeJs
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
如何在Vue中使用CleaveJS格式化你的输入内容
2018/12/14 Javascript
react native 仿微信聊天室实例代码
2019/09/17 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
JavaScript中this函数使用实例解析
2020/02/21 Javascript
Python实现计算最小编辑距离
2016/03/17 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
2019/08/08 Python
tensorflow 查看梯度方式
2020/02/04 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
详解HTML5.2版本带来的修改
2020/05/06 HTML / CSS
英国最大的体育&时尚零售公司:JD Sports
2017/12/13 全球购物
shallow copy和deep copy的区别
2016/05/09 面试题
金属材料工程毕业生个人的自我评价
2013/11/28 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
项目转让协议书
2014/10/27 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
如何在Python项目中引入日志
2021/05/31 Python
Python实现Hash算法
2022/03/18 Python