我想在我的Wagtail页面之一上添加一些内容,并且我试图在所有其他Wagtail页面上导入该Wagtail页面。我尝试这样做的原因是,如果将来在内容上进行更改,则该更改应始终反映在所有其他Wagtail页面上。 有什么方法可以在所有其他Wagtail页面上导入Wagtail页面,如果可以,请告诉我。 预先感谢!
我有一个网站,该网站具有以下配置: 1)Django-2.0.8 2)g 2.2.4
答案 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模块看作是一种定义要在网站上重复使用的全局内容的方法(尽管它缺少通过在页面模型上进行定义而获得的一些功能,例如审核工作流程和修订历史记录。