0

確かにNoobの質問。Practical Django Projects, Second Edition の coltrane プロジェクトに取り組んでいます。

私の urlpattern エントリは次のとおりです。

(r'^blog/(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$', 'coltrane.views.entry_detail'),

実際の URL は次のとおりです: 127.0.0.1:8000/blog/2012/sep/17/thank-you-very-much

実際の URL は、urlpattern エントリに関連付けられているビュー (「coltrane.views.entry_detail」) をトリガーしません。代わりに、url パターン タプルの最後でキャッチオール パターンをトリガーします。キャッチオール パターンは次のとおりです。

(r'', include('django.contrib.flatpages.urls')),

ブラウザーがページを読み込もうとすると、manage.py が次のように報告します: [18/Sep/2012 10:59:31] "GET /blog/2012/sep/17/thank-you-very-much HTTP/1.1" 404 1667

デバッグ ページは、Page not found を報告します。指定されたクエリに一致する FlatPage はありません。

私が把握できる限り、すべてが順調です。では、ここでの私の単純な NOOB の間違いは何ですか?

4

2 に答える 2

2

正規表現では、URL の末尾にスラッシュを一致させる必要があると定義されているため、URL の末尾にスラッシュを追加する必要があります ( /$)

したがって、次のように変更します。

127.0.0.1:8000/blog/2012/sep/17/thank-you-very-much/
于 2012-09-18T17:02:00.480 に答える
2

「P?」を変更します。ナメクジフィールドをキャッチしながら「?P」に。(P?[-\w]+) => (?P[-\w]+)

于 2012-09-18T16:19:08.117 に答える