我正在更新應用程序中的get_absolute_url定義,並因某種原因停止工作。一直未能弄清楚爲什麼。更奇怪的是,一切工作正常在我的本地機器上,但不能在服務器上工作(Webfaction)。get_absolute_url停止工作?
原碼,裏面的工作,是:
def get_absolute_url(self):
return "/blog/%s/%02d/%02d/%s/" % (self.publication_date.year, self.publication_date.month, self.publication_date.day, self.URL)
我改變了到:
def get_absolute_url(self):
return reverse('blog-post', args=[
self.publication_date.year,
self.publication_date.month,
self.publication_date.day,
self.URL
])
它靜靜地失敗。當我點擊在管理環節的「現場查看」,我得到這個錯誤:
Reverse for 'blog-post' with arguments '(2013, 7, 19, 'some-test-slug')' and keyword arguments '{}' not found.
我試着使用關鍵字參數來代替:
def get_absolute_url(self):
return reverse('blog-post', kwargs={
'year': self.publication_date.year,
...
})
...但是,這並沒有任何影響。
請記住,奇怪的是,在我的本地環境中一切都很好。
使用Django 1.3.7,FWIW。
感謝您的幫助。
這裏的urls.py:
urlpatterns = patterns('blog.views',
...
url(r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/(?P<slug>[a-zA-Z0-9_.-]+)/$', 'post', name='blog-post'),
...
)
向我們展示urls.py文件 – lalo
這裏的urls.py: –