Я пытаюсь реализовать блок карусели в трясогузке, и это мои модели.
from wagtail.core.models import Page
from wagtail.core import blocks
from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel, StreamFieldPanel
from wagtail.core.fields import StreamField
from wagtail.documents.blocks import DocumentChooserBlock
from wagtail.images.edit_handlers import ImageChooserPanel
from wagtail.images.blocks import ImageChooserBlock
class ImageCarouselBlock(blocks.StructBlock):
image = ImageChooserBlock()
cta_link = blocks.TextBlock(required=False)
class HomePage(Page):
header_careousel = StreamField([
('image', ImageCarouselBlock()),
],
null=True,
blank=True
)
content_panels = Page.content_panels + [
StreamFieldPanel("header_careousel"),
]
Все вышеперечисленное работает, но проблема во внешнем интерфейсе/tempalte, я не могу отобразить изображение. Я делаю это так:
<div class="hero-header-slider">
<div class="owl-carousel ltr" id="heroHeaderSlider">
{% for image in self.header_careousel %}
<div class="item">
<img src="{{ image.value.image }}">
</div>
<a href="{{ image.value.cta_link}}">cta link</a>
{% endfor %}
</div>
</div>
и это не работает, и я пробовал много разных способов, как показано ниже:
<div class="hero-header-slider">
<div class="owl-carousel ltr" id="heroHeaderSlider">
{% for image in self.header_careousel %}
<div class="item">
<img src="{{ image.value.image.url }}">
</div>
<a href="{{ image.value.cta_link}}">cta link</a>
{% endfor %}
</div>
Здесь cta_link получает, но URL изображения не получает. Может ли кто-нибудь помочь мне, как я могу это сделать?