post 详细信息页面上未显示 Django Wagtail 图片

Django Wagtail image not showing on post detail page

我正在尝试学习 wagtail 教程,但在尝试实现图像时遇到了问题。我上传并添加到博客 post 的图片显示在 post 列表页面中,但未显示在 post 详细信息页面中。谁能告诉我我现在缺少什么以及是否需要分享任何其他信息。谢谢!

我正在使用 wagtail V2.1,这是我当前的代码:

blog/models.py post 详细信息页面 class:

class PostPage(Page):
    body = RichTextField(blank=True)
    date = models.DateTimeField(verbose_name='Post date',default=datetime.datetime.today)
    categories = ParentalManyToManyField('blog.BlogCategory',blank=True)
    tags = ClusterTaggableManager(through='blog.BlogPageTag',blank=True)

    header_image = models.ForeignKey(
        'wagtailimages.Image',
        null=True,
        blank=True,
        on_delete=models.SET_NULL,
        related_name='+',
    )

    content_panels = Page.content_panels + [
        ImageChooserPanel('header_image'),
        FieldPanel('body', classname="full"),
        FieldPanel('categories',widget=forms.CheckboxSelectMultiple),
        FieldPanel('tags'),
    ]

    settings_panels = Page.settings_panels + [
        FieldPanel('date'),
    ]

    @property
    def blog_page(self):
        return self.get_parent().specific

    def get_context(self,request,*args,**kwargs):
        context = super(PostPage,self).get_context(request,*args,**kwargs)
        context['blog_page'] = self.blog_page
        return context

blog/templates/blog/post_page.html 用于 post 详情页面:此处未显示图像

    {% extends "blog/base.html" %}
    {% load wagtailcore_tags wagtailimages_tags wagtailroutablepage_tags %}

    {% block content %}

    <!-- Post Title -->
        <h1>{{ page.title }}</h1>
        <hr>

    <!-- Post Image -->
        {% if post.header_image %}
            {% image post.header_image original as header_image %}
            <img src="{{ header_image.url }}" class="img-responsive" ></img>
        {% endif %}

        <hr>

<!-- Post Body -->
        {{ page.body|richtext }}
        <hr>

        <p><a href="{{ page.get_parent.url }}">Return to blog</a></p>

    {% endblock %}

blog/templates/blog/blog_page.html post 列表页面:图片显示在这里

{% extends "blog/base.html" %}

{% load static wagtailcore_tags wagtailimages_tags blogapp_tags %}

{% block content %}
  <h1>{{ blog_page.title }}</h1>

  <div class="intro">{{ blog_page.description }}</div>

  {% for post in posts %}
  <!-- Post Image -->
  {% if post.header_image %}
      {% image post.header_image original as header_image %}
      <img src="{{ header_image.url }}" class="img-responsive" ></img>
  {% endif %}

  <!-- Post Title -->
    <h2>
      <a href="{% post_date_url post blog_page %}">{{ post.title }}</a>
    </h2>
  {% endfor %}



{% endblock %}

明白了,我在 html 页面中使用 post.Image 而不是 page.Image :D