0

私は単純なアプリケーションを持っており、ホームページが URL パラメータとして日付を取得することを望んでいます。

url(
    regex=r'^$',
    view=HomeView.as_view(),
    name='home'
    ),
url(
    regex=r'^/(?P<date>\d{2}-\d{2}-\d{4})/$',
    view=HomeView.as_view(),
    name='home'
    ), 

しかし、(localhost で) 実行しているときに 127.0.0.1:8000/08-01-2013 に移動すると、404 が見つからないページが表示されます。正規表現に何か問題がありますか?

4

2 に答える 2

3

URL ディスパッチャーのドキュメントから:

すべての URL にスラッシュがあるため、先頭にスラッシュを追加する必要はありません。たとえば、^/articles ではなく ^articles です。

したがって、正しい正規表現は(日付コンポーネントを分解する必要はないと言っているため)次のとおりです。

r'^(?P<date>\d{2}-\d{2}-\d{4})/$'

ファリンスキーの答えが先頭のスラッシュも修正していることがわかります。

于 2013-08-06T19:10:38.530 に答える
3

それ以外の:

r'^/(?P<date>\d{2}-\d{2}-\d{4})/$'

使用する:

r'^(?P<month>\d{2})-(?P<day>\d{2})-(?P<year>\d{4})/$'
于 2013-08-06T18:12:24.977 に答える