2013-08-26 95 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')), 
相关问题