这个django正则表达式为什么不起作用?

时间:2013-08-26 23:59:12

标签: python regex django

我的urls.py中有我的博客应用程序的这个正则表达式,我想知道它为什么不起作用。

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')),

我试过了 本地主机/博客/标签/运动 但我仍然得到:当前的网址,博客/标签/运动,与这些中的任何一个都不匹配。 难道我做错了什么?

1 个答案:

答案 0 :(得分:2)

您的模式尝试匹配额外的/,因为您的包含网址需要一个尾部斜杠,并且您的tag网址正在尝试匹配一条前导斜杠。

您应该删除任何一个以使其正常工作:

# 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')),