1

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

我有一个具有以下配置的网站:1)Django-2.0.8 2)Wagtail-2.2.4

4

1 回答 1

5

定义模板标签是实现此目的的好方法,因为它提供了在将结果输出到模板之前运行自定义 Python 代码(用于检索必要数据)的地方,直接作为字符串或通过呈现模板。例如,如果您在模型footer_text上有一个字段HomePage,并且想HomePage在每个页面上显示带有 slug 'home' 的页脚文本,您可以定义一个自定义标签,如下所示:

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

您还可以将 Wagtail 的站点设置模块视为定义要在整个站点中重复使用的全局内容的一种方式(尽管它缺少在页面模型上定义它所获得的一些功能,例如审核工作流程和修订历史)。

于 2019-02-21T23:58:41.547 回答