在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练习程序批量修改文件名
Jan 16 Python
python类和函数中使用静态变量的方法
May 09 Python
Python实现遍历目录的方法【测试可用】
Mar 22 Python
Tensorflow中使用tfrecord方式读取数据的方法
Jun 19 Python
对python sklearn one-hot编码详解
Jul 10 Python
python 实现在tkinter中动态显示label图片的方法
Jun 13 Python
详解一种用django_cache实现分布式锁的方式
Sep 01 Python
Django项目中使用JWT的实现代码
Nov 04 Python
python manage.py runserver流程解析
Nov 08 Python
python使用selenium爬虫知乎的方法示例
Oct 28 Python
Python实现PS滤镜中的USM锐化效果
Dec 04 Python
Python中的流程控制详解
Feb 18 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中unserialize返回false的解决方法
2014/09/22 PHP
php字符串比较函数用法小结(strcmp,strcasecmp,strnatcmp及strnatcasecmp)
2016/07/18 PHP
详谈配置phpstorm完美支持Codeigniter(CI)代码自动完成(代码提示)
2017/04/07 PHP
ThinkPHP5.0框架结合Swoole开发实现WebSocket在线聊天案例详解
2019/04/02 PHP
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
可选择和输入的下拉列表框示例
2013/11/05 Javascript
js 获取input点选按钮的值的方法
2014/04/14 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
2015/05/07 Javascript
第四章之BootStrap表单与图片
2016/04/25 Javascript
js判断iframe中元素是否存在的实现代码
2016/12/24 Javascript
详解vue2路由vue-router配置(懒加载)
2017/04/08 Javascript
基于Vue实现拖拽效果
2018/04/27 Javascript
ES6之模版字符串的具体使用
2018/05/17 Javascript
Promise.all中对于reject的处理方法
2018/08/01 Javascript
vue实现动态列表点击各行换色的方法
2018/09/13 Javascript
Node.js npm命令运行node.js脚本的方法
2018/10/10 Javascript
小程序实现抽奖动画
2020/04/16 Javascript
vue.js实现二级菜单效果
2019/10/19 Javascript
vue实现修改图片后实时更新
2019/11/14 Javascript
vue路由切换时取消之前的所有请求操作
2020/09/01 Javascript
vue界面发送表情的实现代码
2020/09/11 Javascript
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
Python中使用PIPE操作Linux管道
2015/02/04 Python
深入解析Python编程中JSON模块的使用
2015/10/15 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
对python中Matplotlib的坐标轴的坐标区间的设定实例讲解
2018/05/25 Python
python实现词法分析器
2019/01/31 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
2020/04/13 Python
中国高端家电购物商城:顺电
2018/03/04 全球购物
运动会入场解说词
2014/02/07 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
市场营销专业毕业生求职信
2014/03/26 职场文书
大学生上课迟到检讨书
2014/10/15 职场文书
自我检讨报告
2015/01/28 职场文书
自主招生自荐信怎么写
2015/03/24 职场文书
工作证明书
2015/06/15 职场文书