cms 之外的 Django CMS 简单占位符

Django CMS simple placeholders outside of cms

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

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

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

我已经在 DjangoCMS 文档中找到 Placeholders outside the CMS。 但是为了让它工作,我必须为呈现页面的每个视图获取相关的占位符对象,这将大大增加工作量 "quickly add a placeholder for this text"。

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

占位符分为三种类型:

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

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

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

在模板中呈现

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