Django开发者群  - 讨论区

标题:URL不匹配Page not found的问题

2010年08月31日 星期二 15:16

  1. ^weblog/(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$

The current URL, weblog/2010/08/30/cblog/ , didn't match any of these.

不明白啊不明白,跟《Practical Django Project》对了一下,貌似没有错啊。

麻烦给指点一下。

 

 

 

2010年08月31日 星期二 15:25

我记得我当时出现这个错误时是把?P写成了P?,我copy原作的结果。

2010年08月31日 星期二 16:39

原作的确有一处是P?,但是我的输入没有错的。就是:

r'^weblog/(?P<year>\d{4})/(?P<month>\w{3})/(?P<day>\d{2})/(?P<slug>[-\w]+)/$'

咋就没法匹配: weblog/2010/08/30/cblog/

奇怪。

 

2010年08月31日 星期二 22:22

@半尾

月份应该是2个数字吧,看是不是这个问题

2010年08月31日 星期二 22:24

院长说的有道理

2010年09月01日 星期三 01:53

(?P<month>\w{3})这里应该是(?P<month>\d{2}),文档一时写错了。

2010年09月01日 星期三 10:21

@夏武 谢谢了。解决了。尽信书不如无书啊。

另外:

    import datetime, time
    date_stamp = time.strptime(year+month+day, "%Y%m%d")
    pub_date = datetime.date(*date_stamp[:3])

这里的*号受djangobook的影响以为也只是个提示呢,一直报错,这里让我help(datetime.date)知道了python中def my_func(*args, **kwargs)中*、**号的用法。

 

2010年09月01日 星期三 12:03

并不是书上搞错了,他用的日期格式和你不一样。

你可以参考djangoproject的blog,他的月份用的是字符

http://www.djangoproject.com/weblog/2009/aug/19/bugfix/

2010年09月01日 星期三 13:08

嗯。原来是%b来着,但是提示另外一个错误,我就改成了%m。

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号