Django: тег изображения ожидал объект изображения, получил

#django #wagtail

#django #трясогузка

Вопрос:

Я визуализирую фотографию пользователя в шаблоне Django / Wagtail.

Я отрисовал другие изображения на других страницах Wagtail, все они загружены через страницу администратора Wagtail.

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

в HTML, который я использую:

 {% image page.user.profile.photo fill-150x150 as post_img %}
<a href="{{ post.url }}">
  <img src="{{ post_img.url }}" class="mr-3" alt="{{ post_img.alt }}">
</a>
  

Но получаю эту ошибку:

введите описание изображения здесь

Если я удалю эту часть, шаблон отобразится нормально, конечно, без фотографии.

введите описание изображения здесь

Модель трясогузки:

 class PastorPage(Page):

    template = 'ministros/pastor_page.html'

    user = models.ForeignKey( 
        settings.AUTH_USER_MODEL,
        blank=False,
        null=False,
        related_name=" ",
        on_delete=models.SET(get_sentinel_user),

    )


    content = StreamField(
        [
            ("title_and_text", blocks.TitleAndTextBlock(classname='text_and_title')),
            ("full_richtext", blocks.RichtextBlock()),
            ("simple_richtext", blocks.SimpleRichtextBlock()),
            ("cards", blocks.CardBlock()),
            ("cta", blocks.CTABlock()),
        ],
        null=True,
        blank=True,
    )

    content_panels = Page.content_panels   [
        StreamFieldPanel('content'),
        FieldPanel('user'),
    ]


    class Meta:
        verbose_name = 'Pastor'
        verbose_name_plural = 'Pastores'
  

Ответ №1:

Ошибка предполагает, что photo поле в профиле является django ImageField , а не изображением трясогузки, что соответствует {% image %} тегу шаблона. Вам нужно будет либо не использовать тег изображения wagtail, либо изменить модель, чтобы использовать внешний ключ для изображения wagtail