Django-CMS apphooked模板显示相同的占位符内容

时间:2014-07-10 13:37:35

标签: django django-templates django-cms

我有一个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占位符?

1 个答案:

答案 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"),
    }
}