如何在Wagtail中获取模板中根页面的url?
How to get the url of the root page in template in Wagtail?
pageurl can do it with a Page object,但我不确定如何获取根页面对象。
根页面的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 release notes
如果您使用 wagtail_modeltranslation 并希望获得翻译后的根页面 url(例如:example.com/fr/ 对于法语),您可以使用 {% pageurl request.site.root_page %}
。
如果 wagtail 版本 > 2.12.2,您需要导入 {% wagtail_site as current_site %}
然后您可以使用:{{ current_site.root_url }}
在您的模板中。
pageurl can do it with a Page object,但我不确定如何获取根页面对象。
根页面的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 release notes
如果您使用 wagtail_modeltranslation 并希望获得翻译后的根页面 url(例如:example.com/fr/ 对于法语),您可以使用 {% pageurl request.site.root_page %}
。
如果 wagtail 版本 > 2.12.2,您需要导入 {% wagtail_site as current_site %}
然后您可以使用:{{ current_site.root_url }}
在您的模板中。