Почему ImageGalleryBlock в wagtail-crx/coderedcms не возвращает изображений?

Wagtail-CRX устанавливается с предопределенным блоком StreamField ImageGalleryBlock, который позволяет пользователю выбрать коллекцию изображений, которые затем выводятся на страницу вместе с модальной всплывающей структурой.

В models.py моего приложения я создал переменную image_gallery следующим образом

    image_gallery = StreamField([
        ('image_gallery', ImageGalleryBlock()),
    ],
        verbose_name="Choose images for the gallery",
        null=True,
        blank=True,
        default="",
        use_json_field=True )

FieldPanel("image_gallery"), 

Все работает нормально. FieldPanel добавляет блок выбора коллекции в форму редактирования страницы. Однако изображения в выбранной Коллекции никогда не появляются на странице при использовании любого из возможных методов вызова блока в шаблоне страницы, например

          {% for block in page.image_gallery %}
          <section>{% include_block block %}</section>
          {% endfor %}

Здесь include вызывает блок, использующий шаблон image_gallery_block.html - структура модального окна отображается на странице, но нет изображений, которыми оно было бы заполнено.

Внутри шаблона image_gallery_block.html первой строкой является

{% get_pictures self.collection.id as pictures %}

где get_pictures - функция, которая должна передавать данные из объектов Collection в переменную pictures, и они должны быть итерированы в последующем шаблоне html таким образом

{% if pictures %}
    {% for picture in pictures %}
    {% image picture fill-800x450 format-jpeg preserve-svg as picture_image %}
    {% image picture max-1600x1600 format-webp preserve-svg as original_image %}
    <div class="col-sm-6 col-md-4 col-lg-3 my-3">
      <a href="#" class="lightbox-preview" data-bs-toggle="modal" data-bs-target="#modal-{{modal_id}}">
        <img class="img-thumbnail w-100" src="{{picture_image.url}}" data-original-src="{{original_image.url}}"
          alt="{{picture_image.image.title}}" title="{{picture_image.image.title}}">
      </a>
    </div>
    {% endfor %} etc.

Добавление {{ self.collection.id }} в шаблон выводит правильный номер Collection, поэтому id передается, но {{ pictures}} возвращает ImageQuerySet[]

get_pictures ссылается на файл coderedcms_tags.py и представляет собой следующее

@register.simple_tag
def get_pictures(collection_id):
    collection = Collection.objects.get(id=collection_id)
    return Image.objects.filter(collection=collection)

теги правильно загружаются в верхней части шаблона image_gallery_block.html с помощью {% load wagtailcore_tags wagtailimages_tags coderedcms_tags %} . У меня еще нет достаточного опыта работы с питоном, чтобы понять, как это сделать, но, похоже, функция get_pictures дает осечку.

Вернуться на верх