为什么django page cms get_absolute_url返回一个空字符串?

时间:2010-10-25 17:17:23

标签: django django-urls django-views django-cms

使用django页面cms时,我在django模板中遇到get_absolute_url问题。 它返回一个空字符串,但不链接到我所需的页面。

我有以下模型,网址模板和视图

模型

class Body(models.Model):
...
url = models.SlugField(unique=True, help_text='---')

网址

(r'^news/', include('news.urls_news')),......

url(r'^/(?P<url>[\w\-]+)/$', 'news_view', name='news_view'),    

查看

def news_view(request, url):
new = get_object_or_404(Body, url=url)
return render_to_response('news/view.html', {
    'news': news
}, context_instance=RequestContext(request))

模板

   <li><a href="{{ news.get_absolute_url }}">{{ news.title }}</a></li>

我的模板中的以下代码返回我想要的字符串,但这样做直接指向我的html页面

   <li><a href="{{ news.url }}">{{ news.title }}</a></li>

我知道我的所有内容都链接到正确的文件,因为我有其他视图可以正常工作。有人可以指出我正确的方向,为什么get_absolute_url不能正常工作,以及为什么{{news.url}}没有指向正确的页面。我确信这与我的urls.py有关,但我不确定。 请忍受我,我是django的新手。非常感谢所有帮助。

1 个答案:

答案 0 :(得分:1)

您是否确实在新闻模型中定义了get_absolute_url方法?你没有表现出来。