1

我正在尝试在 wagtail 中设置一个面包屑部分。幸运的是,Bake Demo 提供了一个很好的示例,它只是一个模板标签,它返回当前页面的祖先列表。

@register.inclusion_tag('tags/breadcrumbs.html', takes_context=True)
   def breadcrumbs(context):
    self = context.get('self')
    if self is None or self.depth <= 2:
        # When on the home page, displaying breadcrumbs is irrelevant.
        ancestors = ()
    else:
        ancestors = Page.objects.ancestor_of(
            self, inclusive=True).filter(depth__gt=1)
    return {
        'ancestors': ancestors,
        'request': context['request'],
    }

此代码的问题是我需要语言支持才能以当前语言显示链接。由于我的翻译字段位于派生的 Page 类中,因此我需要查找相应的翻译。

4

1 回答 1

1

我想我已经找到了解决方案:要获取我的自定义 Page 对象,我需要通过更改此行来添加“特定”方法:

ancestors = Page.objects.ancestor_of(self, inclusive=True).specific().filter(depth__gt=1)

现在我可以在模板中使用我自己的自定义字段。像这样的东西{{ancestors.custom_field}}

于 2018-07-23T23:06:56.177 回答