Django URL(找不到页面)

时间:2012-10-19 15:58:33

标签: django django-urls

刚开始使用Django并找出URL调度程序。从我在文档中看到的内容,以下正则表达式应该捕获news/story/2012/10/23/this-is-my-first-story

urlpatterns = patterns('news.views',
    url(r'^$', 'index'),
    url(r'^news/story/(?P<year>\d{4})/(?P<month>\d){2}/(?P<day>\d){2}/(?P<title_key>\w+)/$', 'story'),
)

但是,我收到以下错误...

  

使用mysite.urls中定义的URLconf,Django按以下顺序尝试了这些URL模式:

     
      
  • ^polls/
  •   
  • ^news/
  •   
  • ^$
  •   
  • ^news/
  •   
  • ^news/story/(?P<year>\d)/(?P<month>\d)/(?P<day>\d)/(?P<title_key>\d)/$
  •   
  • ^admin/doc/
  •   
  • ^admin/
  •   
     

当前网址news/story/2012/10/23/this-is-my-first-story与其中任何网址都不匹配。

1 个答案:

答案 0 :(得分:4)

首先,每个模式只接受一位数。您需要将其修改为\d+或更合适,\d{4}year\d{2}monthday

其次,title_key的最后一个模式设置为仅接受数字(\d),如果你想要一个slug,你应该使用[\w-]+