Open twn39 opened 9 months ago
通过 templatetags 获取站点主页面:
from django import template from wagtail.models import Site register = template.Library() @register.simple_tag(takes_context=True) def get_site_root(context): request = context.get('request') return Site.find_for_request(request).root_page
在模板中显示:
{% load navigation_tags wagtailcore_tags %} <div class="top-menu"> {% get_site_root as site_root %} <nav> <p> <a href="{% pageurl site_root %}">Home</a> | {% for menuitem in site_root.get_children.live.in_menu %} <a href="{% pageurl menuitem %}">{{ menuitem.title }}</a> {% endfor %} </p> </nav> </div>
注:因为主页面从 context 的 request 拿到主页面,所以模板标签需要放在主模板中,例如: home.html,不然会获取不到 context
home.html
通过 templatetags 获取站点主页面:
在模板中显示: