在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 调用DLL操作抄表机
Jan 12 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
Jun 16 Python
对pandas的dataframe绘图并保存的实现方法
Aug 05 Python
matplotlib绘制动画代码示例
Jan 02 Python
Python单元测试实例详解
May 25 Python
selenium+python实现自动化登录的方法
Sep 04 Python
Python之使用adb shell命令启动应用的方法详解
Jan 07 Python
Python中如何导入类示例详解
Apr 17 Python
python实现几种归一化方法(Normalization Method)
Jul 31 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
Nov 01 Python
python模块与C和C++动态库相互调用实现过程示例
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 foreach正序倒序输出示例代码
2014/07/01 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
php使用escapeshellarg时中文被过滤的解决方法
2016/07/10 PHP
PHP编辑器PhpStrom运行缓慢问题
2017/02/21 PHP
JavaScript 在线压缩和格式化收藏
2009/01/16 Javascript
js setTimeout()函数介绍及应用以倒计时为例
2013/12/12 Javascript
JavaScript图片轮播代码分享
2015/07/31 Javascript
jQuery+canvas实现的球体平抛及颜色动态变换效果
2016/01/28 Javascript
分享javascript、jquery实用代码段
2016/10/20 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
微信小程序 页面滑动事件的实例详解
2017/10/12 Javascript
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
详解微信小程序之提高应用速度小技巧
2020/01/07 Javascript
原生JS实现贪吃蛇小游戏
2020/03/09 Javascript
[52:44]VGJ.T vs infamous Supermajor小组赛D组败者组第一轮 BO3 第一场 6.3
2018/06/04 DOTA
利用matplotlib+numpy绘制多种绘图的方法实例
2017/05/03 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
python得到qq句柄,并显示在前台的方法
2018/10/14 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
应届生服装设计自我评价
2013/09/20 职场文书
置业顾问岗位职责
2014/03/02 职场文书
中标通知书格式
2015/04/17 职场文书
开会通知短信大全
2015/04/20 职场文书
看雷锋电影观后感
2015/06/10 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书
家庭教育教师培训学习体会
2016/01/14 职场文书
如何写好开幕词?
2019/06/24 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers