Django Wagtail CMS slugurl和pageurl不工作 - 链接返回'无'

时间:2017-01-06 17:03:50

标签: django django-models django-templates wagtail

我正在构建我的第三个Wagtail CMS网站(第1.8版),但从未能够找出pageurl& {% load wagtailcore_tags %}标签用于创建内部链接,并且刚刚对所有链接进行了硬编码,即使硬编码在我的工作流程中与谷物相悖。有人可以帮帮我吗。是的,我确实在页面中添加了StandardPage(Page)

出于演示目的,我将使用一个非常简单的模型,它将为我的客户端提供一个模板,其中只有一个标题和一个正文作为其页面模板之一。该页面恰当地称为standard_page.html和名为about的模板。我创建了一个{% slugurl page.about %}页面,并希望在页眉和页脚中提供指向该页面的链接。我知道我可以硬编码;但这不是我想做的事。

我已尝试None但链接返回{% slugurl standardpage.about %} - 我甚至尝试None认为我遗漏了某些内容,但当然它也会返回class StandardPage(Page): body = RichTextField(blank=True) search_fields = Page.search_fields + [ index.SearchField('title'), index.SearchField('body'), ] class Meta: verbose_name = 'Standard Page - No Image Placement' content_panels = Page.content_panels + [ FieldPanel('body', classname="full"), ]

我总是在我的所有Django项目中使用命名路由,但是无法弄清楚这会让我发疯。

这是我的模型供参考。谢谢。

{{1}}

1 个答案:

答案 0 :(得分:2)

{% slugurl page.about %}会在您当前的页面上查找名为about的字段 - 这会失败,因为没有该字段的字段。

如果您想链接到带有'about'的slug的页面,请使用{% slugurl 'about' %}。 (但是,您应该意识到这与URL的硬编码没什么不同...如果您担心硬编码,因为编辑器可能会意外地重命名页面并断开链接,那么{{1}最终你必须相信你的编辑不要做任何愚蠢的事情!)