gpt4 book ai didi

python - Wagtail/Django ListBlock 行为

转载 作者:行者123 更新时间:2023-12-01 01:59:48 25 4
gpt4 key购买 nike

我面临着有线情况,使用 wagtail。

我的模型:

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 %}

我的模板(嵌套):

<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>

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

我错过/监督了什么?

最佳答案

这是因为您循环了两次。删除第二个 for 循环:{% for x in block.value %}value 应该可以在没有额外循环的情况下访问。您可以使用 value.image 而不是 x.image

在模板中获取图像

关于python - Wagtail/Django ListBlock 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49819776/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com