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])/$', views.year_archive),
url(r'^articles/([0-9])/([0-9])/$', views.month_archive),
url(r'^articles/([0-9])/([0-9])/([0-9]+)/$', views.article_detail),
]注意:
不需要在www.cppcns.com前面加上『/'(slash),www.cppcns.com舉個栗子,要寫成'^articles', 而不是' ^/arwww.cppcns.comticles'。
在之前的'r'字母告訴pyhton直譯器這個string是乙個「raw」— 原始字串
注:python中原始字串(raw)的產生正是由於有正規表示式的存在。原因程式設計客棧是ascii 字元和正規表示式特殊字元間所產生的衝突。比如,特殊符號「\b」在 ascii 字元中代表退格鍵,但同時「\b」也是乙個正規表示式的特殊符號,代表「匹配乙個單詞邊界」。
為了讓re 編譯器把兩個字元「\b」當成你想要表達的字串,而不是乙個退格鍵,你需要用另乙個反斜線對它進行轉義,即可以這樣寫:「\b」。
但這樣做會把問題複雜化,特別是當你的正規表示式字串裡有很多特殊字元時,就更容易令人困惑了。在第六章,我們曾介紹過原始字串,它經常被用於簡化正規表示式的複雜程度。事實上,很多python 程式設計師在定義正規表示式時都只使用原始字串。
本文標題: 在django中url正規表示式匹配的方法
本文位址: /wangluo/re/247806.html
django的url 正則表達
django在檢查url模式前,移除每乙個申請的url開頭的斜槓 這意味著我們為 hello 寫url模式不用包含斜槓 剛開始,這樣可能看起來不直觀,但這樣的要求簡化了許多任務作,如url模式內嵌,我們將在第八章談及。模式包含了乙個尖號 和乙個美元符號 這些都是正規表示式符號,並且有特定的含義 上箭...
Django中url的正規表示式錯誤
warnings 2 0.w001 your url pattern name index has a route that contains p begins with a or ends with a this was likely an oversight when migrating to ...
Django 路由正則URL
django 路由正則url url1 路由url r detail views.detail blank href detail nid url2 返回乙個值,d 也可以寫為w 任意正則 url r detail d html views.detail blank href detail html...