遍历鹡鸰内容
Looping through wagtail contents
我正在使用 wagtail 来管理我的 Django 应用程序中的内容。在我的模型中,我使用了这样的结构化块:
# prefered
class SectionBlock(blocks.StructBlock):
header = blocks.CharBlock()
content = blocks.RichTextBlock()
我的页面应该有多个不同的 header,例如介绍、结论等,但是模板迭代会不断循环第一个 header(介绍)。问题是我是否重命名 SectionBlock
class 中的每个项目以便我可以直接在模板中访问它,或者有更简单的解决方案?
class SectionBlock(blocks.StructBlock):
header1 = blocks.CharBlock()
content1 = blocks.RichTextBlock()
header2 = blocks.CharBlock()
content2 = blocks.RichTextBlock()
{% for block in blocks %}
{{ block.value.header1 }}
{{ block.value.header2 }}
{% endfor %}
自定义 SectionBlock 可以与 StreamField 一起使用,允许编辑者根据需要添加任意数量的部分。
models.py
class SectionBlock(blocks.StructBlock):
header = blocks.CharBlock()
content = blocks.RichTextBlock()
class ExamplePage(Page):
body = StreamField(
[
('section', SectionBlock())
], blank=True
)
template.html
{% for section in page.body %}
{{ section.value.header }}
{{ section.value.content }}
{% endfor %}
我正在使用 wagtail 来管理我的 Django 应用程序中的内容。在我的模型中,我使用了这样的结构化块:
# prefered
class SectionBlock(blocks.StructBlock):
header = blocks.CharBlock()
content = blocks.RichTextBlock()
我的页面应该有多个不同的 header,例如介绍、结论等,但是模板迭代会不断循环第一个 header(介绍)。问题是我是否重命名 SectionBlock
class 中的每个项目以便我可以直接在模板中访问它,或者有更简单的解决方案?
class SectionBlock(blocks.StructBlock):
header1 = blocks.CharBlock()
content1 = blocks.RichTextBlock()
header2 = blocks.CharBlock()
content2 = blocks.RichTextBlock()
{% for block in blocks %}
{{ block.value.header1 }}
{{ block.value.header2 }}
{% endfor %}
自定义 SectionBlock 可以与 StreamField 一起使用,允许编辑者根据需要添加任意数量的部分。
models.py
class SectionBlock(blocks.StructBlock):
header = blocks.CharBlock()
content = blocks.RichTextBlock()
class ExamplePage(Page):
body = StreamField(
[
('section', SectionBlock())
], blank=True
)
template.html
{% for section in page.body %}
{{ section.value.header }}
{{ section.value.content }}
{% endfor %}