со страницы импорта wagtail.models
из wagtail.fields import StreamField
из wagtail.admin.panels импортировать FieldPanel
из блоков импорта strems
класс TestPage(Page):
"""Страница для тестирования отрисовки блока карточек."""
template = "strems/test.html"
cards = StreamField(
[("cards", Blocks.cardblocks())],
blank=True,
null=Истина,
)
content_panels = Page.content_panels + [
FieldPanel("карточки"),
]
Мета-класс:
verbose_name = "Тестовая страница"
verbose_name_plural = "Тест Страницы"
это моя block.py, в котором я указываю свой блок списка в приложении strems.
class cardblocks(StructBlock):
title =CharBlock(required=True, help_text="Добавьте текст сюда")
cards=ListBlock(
StructBlock(
[
("изображение", ImageChooserBlock(require=True)),
("title",CharBlock(required=True,max_length=23)),
("text ",TextBlock(required=True,max_length=50)),
("button_page",PageChooserBlock(required=False)),
("button_url",URLBlock(required=False)),
],
)
)
template = "strems/card_block.html"
Мета-класс:
icon = "заполнитель"
label = "блок-карты"
а также это мой HTML-шаблон для рендеринга контента
{% расширяет "base.html" %
{% load wagtailcore_tags %}
{% load wagtailimages_tags%}
{% блокирует контент %}
{{ self.title }}
< div class="row">
{% для карты в self.cards %}
{% if card.image %}
{% endif %
{{ card.title }}
{{ card.text }}
{ % if card.button_page %
Перейдите на {{ card.button_page. заголовок }}
{% elif card.button_url %
Посетить ссылку
{% endif %}
{% endfor %}
{% endblock %}
но моя проблема в том, что я не могу отобразить содержимое structblock на странице пользователя. Мой вывод выглядит так, введите здесь описание изображения, и я хочу, чтобы он выглядел так, введите здесь описание изображения, чтобы отображать карточки и их содержимое
я пытаюсь изменить код шаблона, но ничего не происходит
Подробнее здесь: https://stackoverflow.com/questions/793 ... ck-content