pageurl 可以使用 Page 对象来实现,但我不确定如何获取根页面对象。
根页面的 URL 是
/
。只需写 <a href="/">
- 无需使用模板标签。
(您可能认为这是作弊,但这实际上是根页面的定义。)
如果 urls.py 中的
include(wagtail_urls)
行植根于 /
以外的路径,并且不想在模板中硬编码该路径,则可以使用: {% url 'wagtail_serve' '' %}
(注意空字符串之后'wagtail_serve'
)。
要在 wagtail 模板中显示站点根页面,请将以下内容添加到您的页面模板中:
{% load wagtailcore_tags %}
<a href="{{ request.site.root_url }}">Site Url</a>
此代码已弃用。从 wagtail 2.9 开始,首选选项是
{% wagtail_site %}
。查看 wagtail 2.9 发行说明
如果您使用 wagtail_modeltranslation 并想要获取翻译后的根页面 url(例如:example.com/fr/ 法语),您可以使用
{% pageurl request.site.root_page %}
。
对于鹡鸰版本 > 2.9:
{% load wagtailcore_tags %}
{% wagtail_site as current_site %}
然后使用
{% pageurl current_site.root_page %}
或 {{ current_site.root_url }}
。
对于 wagtail 版本 > 2.12.2,您需要导入
{% wagtail_site as current_site %}
然后您可以在模板中使用:
{{ current_site.root_url }}
。
如果您使用 wagtail-localize 这将为您提供当前语言环境的主页
{% pageurl page.get_site.root_page.localized %}
Wagtail 的最新版本 5.1.1 希望您在模板开头加载
wagtailcore_tags
:
{% load wagtailcore_tags %}
然后您可以像这样引用网站的根目录:
<a class="footer-links" href="{% url 'wagtail_serve' '' %}">Blog</a>