如何在所有其他w页面上导入a页面

时间:2019-02-21 22:47:18

标签: django wagtail wagtail-streamfield

我想在我的Wagtail页面之一上添加一些内容,并且我试图在所有其他Wagtail页面上导入该Wagtail页面。我尝试这样做的原因是,如果将来在内容上进行更改,则该更改应始终反映在所有其他Wagtail页面上。 有什么方法可以在所有其他Wagtail页面上导入Wagtail页面,如果可以,请告诉我。 预先感谢!

我有一个网站,该网站具有以下配置: 1)Django-2.0.8 2)g 2.2.4

1 个答案:

答案 0 :(得分:3)

custom template tag是实现此目的的好方法,因为它提供了一个运行自定义Python代码(用于检索必要数据)的位置,然后将结果直接输出为模板或直接作为字符串或通过渲染模板。例如,如果您在footer_text模型上有一个HomePage字段,并且想在每页上显示带有“ 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模块看作是一种定义要在网站上重复使用的全局内容的方法(尽管它缺少通过在页面模型上进行定义而获得的一些功能,例如审核工作流程和修订历史记录。