在Django中URL正则表达式匹配的方法

yipeiwu_com6年前Python基础

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将视频转换为全字符视频

python将视频转换为全字符视频

简介 如何简单的使用python来实现将一部视频转换为字符画视频的效果。 其实,大家都知道视频就是一帧一帧的图片构成的。   那么如今我们想要实现,将视频转换为...

Python2.7.10以上pip更新及其他包的安装教程

Python2.7.10以上pip更新及其他包的安装教程

Python2.7还是一个比较稳定的版本,目前80%以上的公司都在使用python2.7的版本。他不会在安装的时候报编码错误之类的问题。 但是从官网下载的Python上面自带的pip都是...

python仿抖音表白神器

python仿抖音表白神器

Python能够干嘛? 可以做日常任务,比如自动备份你的MP3; 可以做网站,很多著名的网站像知乎、YouTube就是Python写的; 可以做网络游戏的后台,很多在线游戏的后台都是Py...

Python定时发送消息的脚本:每天跟你女朋友说晚安

Python定时发送消息的脚本:每天跟你女朋友说晚安

首先 你要有个女朋友 效果: 需要安装几个包 pip install wxpy pip install wechat_sender pip install request...

Python实现网站文件的全备份和差异备份

之前有写利用md5方式来做差异备份,但是这种md5方式来写存在以下问题: •md5sum获取有些软连接的MD5值存在问题 •不支持对空目录进行备份,因为md5s...