如何在所有其他wagtail页面上导入Wagtail页面

问题描述 投票:1回答:1

我想在我的一个Wagtail页面上添加一些内容,我试图在我所有其他的Wagtail页面上导入那个Wagtail页面。我试图这样做的原因是,如果将来我对内容进行更改,它应该始终反映在所有其他Wagtail页面上。有没有办法可以在我所有其他Wagtail页面上导入Wagtail页面,如果有,请告诉我。提前致谢!

我有一个网站,其中包含以下配置:1)Django-2.0.8 2)Wagtail-2.2.4

django wagtail wagtail-streamfield
1个回答
3
投票

custom template tag是实现这一目标的好方法,因为它提供了一个运行自定义Python代码(用于检索必要数据)的位置,然后将结果输出到模板,可以直接作为字符串,也可以通过渲染模板。例如,如果你在footer_text模型上有一个HomePage字段,并希望在每个页面上显示带有slug'home'的HomePage的页脚文本,则可以按如下方式定义自定义标记:

@register.inclusion_tag('myapp/includes/footer.html')
def footer():
    homepage = HomePage.objects.get(slug='home')
    return {'footer_text': homepage.footer_text}

您还可以查看Wagtail的site settings模块,以定义要在网站上重复使用的全局内容(尽管它缺少您在页面模型上定义的一些功能,例如审核工作流程和修订历史记录)。

© www.soinside.com 2019 - 2024. All rights reserved.