我有一个django-cms网站,我在/managers-home/
创建了一个带有app钩子的页面,以便我可以使用该页面中的myapp
。
myapp
在/managers-home/
下面的各个网址上呈现各种模板,我希望每个模板都有一个可通过django-cms内容插件编辑的部分。因此,我已将{% staticplaceholder "content" site %}
添加到这些模板中,因为据我所知,您无法在隐藏的应用程序中使用标准{% placeholder "" %}
。
我开始使用此功能并在/managers-home/page-1/
上使用page-1.html
的占位符添加了一些文字,然后当我到达/managers-home/page-2
上的占位符时,我已经可以看到来自第1页尽管现在使用了page-2.html
,因此正在共享这两个单独模板上的占位符。
如何在我的应用程序模板中正确添加django-cms占位符?
答案 0 :(得分:2)
原来我的问题是static_placeholder
就是这样,只是一个由给定名称标识的占位符,并且在您引用该名称的任何地方都可以得到相同的内容。
因此,为了让我的每个模板都能显示自定义文本,我为每个模板创建了一个static_placeholder。
# page-1.html
{% static_placeholder "page-1" site or %}
Default text goes here
{% endstatic_placeholder %}
# settings.py
CMS_PLACEHOLDER_CONF = {
'page-1': {
'plugins': ['TextPlugin', 'UploadedPicturePlugin'],
'text_only_plugins': ['LinkPlugin'],
'extra_context': {"width": 640},
'name': gettext("Content"),
}
}