0

我有一个带有 HTML 编辑器的片段。

@register_snippet
class GalleryCategory(models.Model):
    text_links = StreamField(
        [('text', DemoStreamBlock())],
        null=True,
        blank=True)
    panels = [
        StreamFieldPanel('text_links'),
    ]

    def __str__(self):
        return self.name

当我从这个片段创建一个实例时,我在模板中呈现它,如下所示:

<strong>
     {% include_block category.text_links %}
</strong>

但是,这会输出:

 <strong>
    <div class="block-text">
     <div class="block-aligned_html"><dl>
      <dt>html</dt>
      <dd>Visit our <a href="/some page/" target="_blank">Facebook page</a> for more albums</dd>
      <dt>alignment</dt>
      <dd>normal</dd>
      </dl>
     </div>
    </div>
 </strong>

其中htmlalignmentnormal是文本编辑器中的标签。

这是管理页面编辑器

这是渲染的模板

4

1 回答 1

1

您看到的是StructBlock. 要覆盖它,您应该在定义上设置一个template属性,如下所述: http ://docs.wagtail.io/en/v2.0/topics/streamfield.html#template-renderingStructBlock

于 2018-04-02T12:07:55.720 回答