DjangoCMS:如何在插件中创建占位符

DjangoCMS:如何在插件中创建占位符,django,django-cms,Django,Django Cms,我正在创建一个名为InformationBox的插件。信息框包含页眉、主体和页脚。页眉和页脚只是CharFields。最初,我将主体作为一个CKEditor插件HTMLField,但是,我不能在HTMLField中使用djangocms列插件(以及其他插件) 目前我的模型中有.py: 使用以下简单模板: {%loadcms\u标签%} {{box.header}} {%render\u placeholder box.text\u field\u placeholder%} {{box.fo

我正在创建一个名为
InformationBox
的插件。信息框包含页眉、主体和页脚。页眉和页脚只是
CharField
s。最初,我将主体作为一个CKEditor插件
HTMLField
,但是,我不能在
HTMLField
中使用djangocms列插件(以及其他插件)

目前我的
模型中有.py

使用以下简单模板:

{%loadcms\u标签%}
{{box.header}}
{%render\u placeholder box.text\u field\u placeholder%}
{{box.footer}}

我可以在Chrome元素检查器中看到,实际上,
text\u field\u placeholder
div有一个占位符类,但是,我不能双击进行编辑

我的问题:

  • 为什么我不能单击以编辑插件内部的占位符
  • 这是我努力实现目标的正确途径吗
  • 有没有更好的方法来创建小部件(帮助用户创建样式化的“框”等)

  • 如果您使用的是3.0+版本,则可以在插件中使用插件。因此,你可以有一个框插件,并把一个文本或图片插件

    class InformationBoxModel(CMSPlugin):
        header = models.CharField(_("header"), max_length=100)
        footer = models.TextField(_("footer"), default='', blank=True)
        text_field_placeholder = PlaceholderField('text_field_placeholder')
    
    {% load cms_tags %}
    
    <section class="box padding">
        <h2>{{ box.header }}</h2>
        <div>{% render_placeholder box.text_field_placeholder %}</div>
        <div class="footer"><p>{{ box.footer }}</p></div>
    </section>