0

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

ただし、次のエラーが表示されます...

で定義されている URLconf を使用してmysite.urls、Django は次の URL パターンを次の順序で試しました。

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

現在の URL はnews/story/2012/10/23/this-is-my-first-story、これらのいずれとも一致しませんでした。

4

1 に答える 1

4

まず、パターンごとに 1 つの数字しか受け入れません。forおよびforおよびに\d+、またはより適切に変更する必要があります。\d{4}year\d{2}monthday

2 番目の最後のパターンは、title_key数値 ( ) のみを受け入れるように設定されてい\dます。スラッグが必要な場合は、次を使用する必要があります。[\w-]+

于 2012-10-19T16:13:10.807 に答える