Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Wagtail/Django列表块行为_Python_Django_Templates_Wagtail - Fatal编程技术网

Python Wagtail/Django列表块行为

Python Wagtail/Django列表块行为,python,django,templates,wagtail,Python,Django,Templates,Wagtail,我正面临一个有线的情况,使用摇尾 我的模型: class SlideBlock(blocks.StructBlock): image = ImageChooserBlock() caption = blocks.CharBlock(required=False) class Meta: template = 'home/blocks/carousel.html' class HomePageIndex(Page): body = StreamField([

我正面临一个有线的情况,使用摇尾

我的模型:

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%}
{块%中的块的%s}
{%elif block.block_type=='滑块'%}
在里面
{%include_block%}
出来
{%else%}
不支持块类型
{%endif%}
{%endfor%}
{%endwith%}
我的模板(嵌套):


{%x在block.value%}
{%image x.image max-1920x1080 class=“d-block w-100”alt=“Slide”%%
{%endfor%}
在我的数据库中,我使用一些测试数据进行测试。。。但出于某种奇怪的原因,调用嵌套模板是因为我的数据库中有很多数据。因此,我无法正确地迭代ListBlock。给定示例的输出生成有线重复输出


我错过了/监督了什么?

这是因为你循环了两次。删除第二个forloop:
{%for x in block.value%}
<代码>值应无需额外循环即可访问。您可以使用
值在模板中获取图像。image
而不是
x。image

您可以给出一个输出示例吗?假设数据库中(对于特定的slug)有3张图片。所有三张图片显示3次。。。图1,图2,图3,图1,图2。工作!你不知道你帮了我多少忙@r4r3devAut,如果这个答案对你有帮助,你为什么不接受呢?
{% 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 %}
<div>
    <div>

        {% for x in block.value %}

            <div class="carousel-item">
                {% image x.image max-1920x1080 class="d-block w-100" alt="Slide" %}
            </div>
        {% endfor %}
    </div>
</div>