在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 04 Python
Python下载懒人图库JavaScript特效
May 28 Python
Pycharm学习教程(5) Python快捷键相关设置
May 03 Python
Python爬取数据并写入MySQL数据库的实例
Jun 21 Python
用python打印菱形的实操方法和代码
Jun 25 Python
Python封装成可带参数的EXE安装包实例
Aug 24 Python
python如何使用jt400.jar包代码实例
Dec 20 Python
Python logging日志模块 配置文件方式
Jul 12 Python
PyTorch 导数应用的使用教程
Aug 31 Python
单身狗福利?Python爬取某婚恋网征婚数据
Jun 03 Python
Python音乐爬虫完美绕过反爬
Aug 30 Python
Python使用pandas导入csv文件内容的示例代码
Dec 24 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
3
2006/10/09 PHP
复杂检索数据并分页显示的处理方法
2006/10/09 PHP
快速开发一个PHP扩展图文教程
2008/12/12 PHP
我的php学习笔记(毕业设计)
2012/02/21 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
memcache一致性hash的php实现方法
2015/03/05 PHP
在laravel中实现ORM模型使用第二个数据库设置
2019/10/24 PHP
表单的一些基本用法与技巧
2006/07/15 Javascript
浅析Prototype的模板类 Template
2011/12/07 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
jQuery 设置 CSS 属性示例介绍
2014/01/16 Javascript
js中定义一个变量并判断其是否为空的方法
2014/05/13 Javascript
谈谈Jquery中的children find 的区别有哪些
2015/10/19 Javascript
jQuery实现只允许输入数字和小数点的方法
2016/03/02 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
基于JavaScript+HTML5 实现打地鼠小游戏逻辑流程图文详解(附完整代码)
2017/11/02 Javascript
基于Vue实现拖拽功能
2020/07/29 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
实例介绍JavaScript中多种组合继承
2019/01/20 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
[49:11]完美世界DOTA2联赛PWL S3 INK ICE vs DLG 第二场 12.20
2020/12/23 DOTA
盘点提高 Python 代码效率的方法
2014/07/03 Python
分析运行中的 Python 进程详细解析
2019/06/22 Python
python里运用私有属性和方法总结
2019/07/08 Python
对Python获取屏幕截图的4种方法详解
2019/08/27 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
css3的transition效果和transfor效果示例介绍
2013/10/30 HTML / CSS
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
Java中compareTo和compare的区别
2016/04/12 面试题
运动会广播稿80字
2014/01/23 职场文书
2014年党员干部四风问题自我剖析材料
2014/09/29 职场文书
鸡毛信观后感
2015/06/11 职场文书
Apache SeaTunnel实现 非CDC数据抽取
2022/05/20 Servers