【发布时间】:2018-07-11 22:48:00
【问题描述】:
pageurl can do it with a Page object,但我不知道如何获取根页面对象。
【问题讨论】:
标签: wagtail
pageurl can do it with a Page object,但我不知道如何获取根页面对象。
【问题讨论】:
标签: wagtail
根页面的 URL 是 /。只需写<a href="/"> - 无需使用模板标签。
(你可能认为这是作弊,但它实际上是根页面的定义。)
如果您将 urls.py 中的 include(wagtail_urls) 行植根于 / 以外的路径,并且不想在模板中对该路径进行硬编码,则可以使用:{% url 'wagtail_serve' '' %}(注意'wagtail_serve' 之后的空字符串)。
【讨论】:
re_path(r'^blog/', include(wagtail_urls)), 我试过{% url 'wagtail_serve' %},但它给出了错误:Reverse for 'wagtail_serve' with no arguments not found. 1 pattern(s) tried: ['blog/((?:[\\w\\-]+/)*)$']
要在 wagtail 模板中显示站点根页面,请将以下内容添加到页面模板中:
{% load wagtailcore_tags %}
<a href="{{ request.site.root_url }}">Site Url</a>
此代码已弃用。从 wagtail 2.9 开始,首选选项是 {% wagtail_site %}。查看wagtail 2.9 release notes
【讨论】:
{{ page.get_site.root_url }}
如果您使用 wagtail_modeltranslation 并希望获取翻译后的根页面 url(例如:example.com/fr/ 用于法语),您可以使用{% pageurl request.site.root_page %}。
【讨论】:
使用 wagtail 版本 > 2.12.2 您需要导入 {% wagtail_site as current_site %}
然后您可以在模板中使用:{{ current_site.root_url }}。
【讨论】: