2013-08-26 136 views
1

我在我的博客應用程序的urls.py中有這個正則表達式,我想知道它爲什麼不起作用。爲什麼這個Django的正則表達式不工作?

url(r'^/tag/(?P<tag_text>\w+)/$', views.tag, name='tag'), 

,我已經在博客的views.py

def tag(request,tag_text): 

定義的這個和這個應用程序的urls.py

url(r'^blog/', include('blog.urls')), 

我試圖 本地主機/博客/標籤/運動 但我仍然得到:目前的網址,博客/標籤/運動,沒有匹配任何這些。 我做錯了什麼?

+0

,你不應該有/運動後的東西,爲\ W +你對正則表達式寫的嗎? – PepperoniPizza

+0

@PepperoniPizza'''\ w +'''用於匹配標籤名稱(在本例中爲'''sport''')。無論如何,關於主題:我認爲你的模式試圖匹配一個額外的'''/'''。在include之前有一個'''/''','''tag''中有一個前導'''''''''嘗試刪除其中的一個。 – asermax

+0

@asermax謝謝!是的額外的斜線是問題。 – Algorithmatic

回答

2

您的圖案試圖匹配額外的/,因爲您的包含網址需要一個尾部斜線,並且您的網址正嘗試匹配一個前導斜槓。

您應該刪除任何一個,使其工作:

# tag url in blog/urls.py 
url(r'^tag/(?P<tag_text>\w+)/$', views.tag, name='tag'), 

# include in project/urls.py 
url(r'^blog/', include('blog.urls')), 
相關問題