在Django中URL正则表达式匹配的⽅法
Django框架中的URL分发采⽤正则表达式匹配来进⾏,以下是正则表达式的基本规则:
官⽅演⽰代码:
f.urls import url
from . import views
urlpatterns = [
url(r'^articles/2003/$', views.special_case_2003),
url(r'^articles/([0-9]{4})/$', ar_archive),
url(r'^articles/([0-9]{4})/([0-9]{2})/$', h_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正则表达式匹配的⽅法就是⼩编分享给⼤家的全部内容了,希望能给⼤家⼀个参考,也希望⼤家多多⽀持。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论