在Django中URL正則表達(dá)式匹配的方法
Django框架中的URL分發(fā)采用正則表達(dá)式匹配來進(jìn)行,以下是正則表達(dá)式的基本規(guī)則:
官方演示代碼:
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)的產(chǎn)生正是由于有正則表達(dá)式的存在。原因是ASCII 字符和正則表達(dá)式特殊字符間所產(chǎn)生的沖突。比如,特殊符號“\b”在 ASCII 字符中代表退格鍵,但同時“\b”也是一個正則表達(dá)式的特殊符號,代表“匹配一個單詞邊界”。
為了讓RE 編譯器把兩個字符“\b”當(dāng)成你想要表達(dá)的字符串,而不是一個退格鍵,你需要用另一個反斜線對它進(jìn)行轉(zhuǎn)義,即可以這樣寫:“\b”。
但這樣做會把問題復(fù)雜化,特別是當(dāng)你的正則表達(dá)式字符串里有很多特殊字符時,就更容易令人困惑了。在第六章,我們曾介紹過原始字符串,它經(jīng)常被用于簡化正則表達(dá)式的復(fù)雜程度。事實上,很多Python 程序員在定義正則表達(dá)式時都只使用原始字符串。
以上這篇在Django中URL正則表達(dá)式匹配的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
pandas中apply和transform方法的性能比較及區(qū)別介紹
這篇文章主要介紹了pandas中apply和transform方法的性能比較,在文中給大家講解了apply() 與transform()的相同點與不同點,需要的朋友可以參考下2018-10-10Jupyter notebook 遠(yuǎn)程配置及SSL加密教程
這篇文章主要介紹了Jupyter notebook 遠(yuǎn)程配置及SSL加密教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04Python讀取含url圖片鏈接的txt文檔方法小結(jié)
這篇文章主要為大家詳細(xì)介紹了三種Python讀取含url圖片鏈接的txt文檔方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04