似乎无法得到django url路由正确与数字

问题描述:

我想要得到这样的网址结构。似乎无法得到django url路由正确与数字

http://example.com/blog/1/title-name-goes-here

我主要的网址文件中有这条线,等等。

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

在我blog.urls我有

urlpatterns = patterns('', 
    (r'', 'blog.views.index'), 
    (r'^(?P<entry_id>\d+)/(?P<slug>[a-zA-Z0-9_.-]+)/$', 'blog.views.entry'), 
) 

我的问题是,当我访问/blog/1/some-title我得到调用,而不是进入视图方法索引视图。路线的顺序也不重要。

我认为这个正则表达式是错误的。我对他们仍然不满意。

尝试:

urlpatterns = patterns('', 
    (r'^(?P<entry_id>\d+)/(?P<slug>[-\w]+)/$', 'blog.views.entry'), 
    (r'^$', 'blog.views.index'), 
)  

公告中表示空图案下部图案克拉和美元符号。您应该(通常)按照需要匹配的组数来排列您的模式,例如/ id/slug/title/above/id/slug/above/id /,因为URLconf选择可能的第一个匹配。你可以使用RegexPal在线测试你的模式,这很方便

我也使用\ w(单词,数字下划线 - 我不确定你是否特别想要匹配slu dots中的点来更简单的slu pattern模式? )

+0

这工作,也是有道理的。感谢正则表达式测试人员。我会在学习正则表达式时使用它。谢谢。 – percent20