我正在构建我的第三个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}}
答案 0 :(得分:2)
{% slugurl page.about %}
会在您当前的页面上查找名为about
的字段 - 这会失败,因为没有该字段的字段。
如果您想链接到带有'about'的slug的页面,请使用{% slugurl 'about' %}
。 (但是,您应该意识到这与URL的硬编码没什么不同...如果您担心硬编码,因为编辑器可能会意外地重命名页面并断开链接,那么{{1}最终你必须相信你的编辑不要做任何愚蠢的事情!)