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

但是当我(在本地主机上)运行时,转到 127.0.0.1:8000/08-01-2013 会导致找不到页面 404。我的正则表达式有问题吗?

4

2 回答 2

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 回答
3

URL 调度程序文档

无需添加前导斜杠,因为每个 URL 都有。例如,它是 ^articles,而不是 ^/articles。

所以正确的正则表达式(因为你说你不需要分解日期组件)是:

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

我看到法林斯基的回答也纠正了前导斜线。

于 2013-08-06T19:10:38.530 回答