在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 相关文章推荐
wxPython中文教程入门实例
Jun 09 Python
用实例详解Python中的Django框架中prefetch_related()函数对数据库查询的优化
Apr 01 Python
Python isinstance函数介绍
Apr 14 Python
Python实现统计文本文件字数的方法
May 05 Python
Python tkinter实现的图片移动碰撞动画效果【附源码下载】
Jan 04 Python
在Python中输入一个以空格为间隔的数组方法
Nov 13 Python
浅谈Python中的全局锁(GIL)问题
Jan 11 Python
Python3中编码与解码之Unicode与bytes的讲解
Feb 28 Python
tensorflow 大于某个值为1,小于为0的实例
Jun 30 Python
Python matplotlib模块及柱状图用法解析
Aug 10 Python
最新PyCharm从安装到PyCharm永久激活再到PyCharm官方中文汉化详细教程
Nov 17 Python
Python re.sub 反向引用的实现
Jul 07 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
生成sessionid和随机密码的例子
2006/10/09 PHP
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
PHP常用技术文之文件操作和目录操作总结
2014/09/27 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
2019/04/17 PHP
提高Laravel应用性能方法详解
2019/06/24 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
jquery判断单个复选框是否被选中的代码
2009/09/03 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
jquery插件制作简单示例说明
2012/02/03 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
html的DOM中document对象images集合用法实例
2015/01/21 Javascript
jQuery入门之层次选择器实例简析
2015/12/11 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
xmlplus组件设计系列之文本框(TextBox)(3)
2017/05/03 Javascript
JS实现的集合去重,交集,并集,差集功能示例
2018/03/13 Javascript
微信小程序methods中定义的方法互相调用的实例代码
2018/08/07 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
React中阻止事件冒泡的问题详析
2019/04/12 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
django js 实现表格动态标序号的实例代码
2019/07/12 Javascript
vue eslint简要配置教程详解
2019/07/26 Javascript
vue将文件/图片批量打包下载zip的教程
2020/10/21 Javascript
python 多线程实现检测服务器在线情况
2015/11/25 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
python爬取微博评论的实例讲解
2021/01/15 Python
学雷锋演讲稿
2014/03/04 职场文书
交通事故私了协议书
2014/04/16 职场文书
学前班语言教学计划
2015/01/20 职场文书
行政诉讼答辩状
2015/05/21 职场文书
运动会报道稿大全
2015/07/23 职场文书
新兵入伍决心书
2015/09/22 职场文书
HTML+css盒子模型案例(圆,半圆等)“border-radius” 简单易上手
2021/05/10 HTML / CSS