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

Posted

技术标签:

【中文标题】为啥 django page cms get_absolute_url 返回一个空字符串?【英文标题】:Why does django page cms get_absolute_url return an empty string?为什么 django page cms get_absolute_url 返回一个空字符串? 【发布时间】:2011-04-30 08:21:39 【问题描述】:

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

我有以下模型、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】:

您是否真的在 News 模型上定义了 get_absolute_url 方法?你不显示它。

【讨论】:

是的,再加上我以错误的顺序排列了我的 URL。我不认为 URLS 的顺序很重要。干杯。

以上是关于为啥 django page cms get_absolute_url 返回一个空字符串?的主要内容,如果未能解决你的问题,请参考以下文章

Django CMS page_attribute 回退到其他值?

在 django-page-CMS 中创建的视图会禁用所有 CSS?包含代码,请修复

Django CMS 链接 - AttributeError 'Page' 对象没有属性 'site'

Django CMS:基于所选插件的页面内导航菜单

为啥 Django CMS doc'n example Hello Plugin 在渲染时向 hello 模型类添加 <projectname_> 前缀导致错误?

php vs python django或CMS模块的其他东西