Python 摇尾呈现页面树

Python 摇尾呈现页面树,python,django,python-2.7,wagtail,Python,Django,Python 2.7,Wagtail,我正在尝试创建一个站点地图,用户可以使用它查看站点的层次结构、子页面和父页面等,但我似乎找不到一种方法来显示这一点。是否有我可以使用的应用程序,或者我需要编写自定义功能?您可以获得如下已发布页面: Page.objects.live() class SitemapPage(Page): ... def get_context(self, request, *args, **kwargs): context = super().get_context(reque

我正在尝试创建一个站点地图,用户可以使用它查看站点的层次结构、子页面和父页面等,但我似乎找不到一种方法来显示这一点。是否有我可以使用的应用程序,或者我需要编写自定义功能?

您可以获得如下已发布页面:

Page.objects.live()
class SitemapPage(Page):
    ...

    def get_context(self, request, *args, **kwargs):
        context = super().get_context(request, *args, **kwargs)
        context.update({'pages': Page.objects.live()})
        return context

默认顺序为“按路径”。使用
depth
字段(一个数字)和一些css来创建层次结构

您可以向页面添加上下文,如下所示:

Page.objects.live()
class SitemapPage(Page):
    ...

    def get_context(self, request, *args, **kwargs):
        context = super().get_context(request, *args, **kwargs)
        context.update({'pages': Page.objects.live()})
        return context
在模板中:

{% for obj in pages %}
   <a href="{% pageurl obj %}" class="level-{{ obj.depth }}">{{ obj.title }}</a>
{% endfor %}
{%用于第%页中的obj}
{%endfor%}