我正在尝试在w中设置面包屑部分。幸运的是,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类中,因此我需要查找相应的翻译。
答案 0 :(得分:0)
我想我已经找到了解决方案: 要获取我的自定义Page对象,我需要添加“特定”方法 通过更改此行:
ancestors = Page.objects.ancestor_of(self, inclusive=True).specific().filter(depth__gt=1)
现在,我可以在模板中使用自己的自定义字段。像这样的{{ancestors.custom_field}}