我无法显示带尾巴的图像

时间:2019-02-12 01:43:38

标签: python django image wagtail

我正在尝试使用带有w色cms的插入图像,但指责以下错误:“ QuerySet”对象没有属性“ get_rendition”

我已经阅读了文档,但是在这里他们使用来显示几张图像,但是我只想显示一个图像

型号:

class HomePage(Page):
    body = RichTextField(blank=True)

    content_panels = Page.content_panels + [
        FieldPanel('body', classname="full"),
        InlinePanel('gallery_images', label="Gallery images"),
    ]

class BlogPageGalleryImage(Orderable):
    page = ParentalKey(HomePage, on_delete=models.CASCADE, related_name='gallery_images')
    image = models.ForeignKey(
        'wagtailimages.Image',
        on_delete=models.CASCADE, 
        related_name='+',
    )
    caption = models.CharField(blank=True, max_length=250)

    panels = [
        ImageChooserPanel('image'),
        FieldPanel('caption'),
    ]

base.html:

{% load wagtailcore_tags wagtailimages_tags %}
{% image page.gallery_images.all width-400 as my_image %}

我只想动态插入一个图像,这可能吗?

1 个答案:

答案 0 :(得分:1)

不。你不能那样做。 page.gallery_images.all是一个查询集。您必须将其放入for循环中,并在page.gallery_images.all%}中使用{%for i循环遍历page.gallery_images.all,然后仅渲染一个,可以使用{%if forloop.first%}渲染它。或者,您也可以使用切片过滤器。