Wagtail / Django ListBlock行为

时间:2018-04-13 14:53:35

标签: python django templates wagtail

我正面临有线情况,使用w ..,

我的模特:

<!--Footer-->
<div class="modal-footer">
  <button type="submit" class="btn btn-primary ml-auto">Enviar</button>
  <button type="button" class="btn btn-danger mr-auto" data-dismiss="modal">Cerrar</button>
</div>

我的模板(MAIN):

class SlideBlock(blocks.StructBlock):
    image = ImageChooserBlock()
    caption = blocks.CharBlock(required=False)

class Meta:
    template = 'home/blocks/carousel.html'

class HomePageIndex(Page):
    body = StreamField([
        ('head', blocks.TextBlock(classname="full title")),
        ('text', blocks.RichTextBlock()),
        ('html', blocks.RawHTMLBlock()),
        ('slider', blocks.ListBlock(SlideBlock()))
    ], blank=True)

    content_panels = Page.content_panels + [
        StreamFieldPanel('body'),
    ]

    # parent_page_types = []
    subpage_types = ['home.HomePageIndex',
                     'blog.BlogPageIndex',
                     'blog.BlogTagPageIndex']

我的模板(嵌套):

{% with blocks=self.body %}

{% for block in blocks %}

    <section>
        {% elif block.block_type == 'slider' %}
            in
            <!-- Gate to an nested template -->
            {% include_block block %}
            out
        {% else %}
            block-type not supported
        {% endif %}
    </section>

{% endfor %}
</article>
{% endwith %}

在我的数据库中,我使用一些测试数据用于测试原因...但是由于一些我们原因,调用了嵌套模板,因为我的数据库中有很多数据。所以我无法在属性上迭代ListBlock。给定示例的输出产生有线重复输出......

我想念/监督的是什么?

1 个答案:

答案 0 :(得分:2)

这是因为您要在列表块数量上循环两次。删除x值的第二个for循环。在没有额外循环的情况下,该值应该是可访问的。与value.image代替x.image

一样