Djang CMS简单占位符在cms之外

时间:2017-04-28 12:10:36

标签: python django django-cms

我有一个完全开发的Django应用程序,并决定添加DjangoCMS,以便为内容开发人员提供一个快速的原型登陆页面等。它现在位于myurl.com/cms下并且运行良好。这些人可以创建新页面,选择模板并在那里添加插件。

当我看到占位符模板标签时,我立即想到将它放在整个项目上,在cms之外,我希望产品团队能够快速添加和更改内容。我不希望他们从cms为此创建新页面,因为该站点可能具有复杂的功能,仅在此上下文中使用一次(即搜索页面)。

所以基本上我希望有静态占位符,我可以使用cms插件模板标签放置在页面的html部分。

我已在DjangoCMS文档中找到Placeholders outside the CMS。 但为了实现这一点,我必须为呈现页面的每个视图获取相关的占位符对象,这将大大增加“快速添加此文本的占位符”的工作量。

有一种简单的方法吗?我有点希望不是第一个遇到这个问题的人。

1 个答案:

答案 0 :(得分:0)

有三种类型的占位符:

页面占位符 - 使用{% placeholder %}声明。这些只能在cms页面内使用。

静态占位符 - 使用{% static_placeholder %}声明。不绑定页面或对象。

应用占位符 - 使用PlaceholderField在models.py中声明,并使用{% render_placeholder %}

在模板中呈现

经验法则是,如果您要渲染cms页面,请使用页面占位符,否则根据您的用例使用静态占位符。