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>