cms 之外的 Django CMS 简单占位符
Posted
技术标签:
【中文标题】cms 之外的 Django CMS 简单占位符【英文标题】:Django CMS simple placeholders outside of cms 【发布时间】:2017-09-26 13:22:12 【问题描述】:我有一个完全开发的 Django 应用程序,并决定添加 DjangoCMS,以便为内容开发人员提供一种快速制作登陆页面原型等的方法。它现在位于 myurl.com/cms 下并且运行良好。伙计们可以创建新页面,选择模板并在那里添加插件。
当我看到占位符模板标签时,我立即想到将其放置在整个项目中,在 cms 之外,我希望产品团队能够快速添加和更改内容的任何地方。我不希望他们从 cms 中为此创建一个新页面,因为该站点可能具有复杂的功能,在这种情况下仅使用一次(即搜索页面)。
所以基本上我希望有静态占位符,我可以使用 cms 插件模板标签将它们放置在页面的 html 部分中。
我已经在 DjangoCMS 文档中找到了Placeholders outside the CMS。 但要使其工作,我必须为呈现页面的每个视图获取相关的占位符对象,这将大大增加“快速为此文本添加占位符”的工作量。
有没有简单的方法来做到这一点?我有点希望不会是第一个遇到这个问题的人。
【问题讨论】:
【参考方案1】:占位符分为三种:
页面占位符 - 使用 % placeholder %
声明。这些只能在 cms 页面内使用。
静态占位符 - 使用 % static_placeholder %
声明。不绑定到页面或对象。
应用占位符 - 在您的 models.py 中使用 PlaceholderField 声明并在模板中使用 % render_placeholder %
呈现
经验法则是,如果您要呈现 cms 页面,请使用页面占位符,否则根据您的用例使用静态占位符。
【讨论】:
以上是关于cms 之外的 Django CMS 简单占位符的主要内容,如果未能解决你的问题,请参考以下文章