作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我面临着有线情况,使用 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/
我面临着有线情况,使用 wagtail。 我的模型: class SlideBlock(blocks.StructBlock): image = ImageChooserBlock()
我是一名优秀的程序员,十分优秀!