Django Wagtail图像未显示在帖子详细信息页面上

时间:2018-06-19 18:44:34

标签: django python-3.x wagtail

我正在尝试通过a教程来工作,并且遇到尝试实现图像的问题。我上传并添加到博客帖子的图像显示在帖子列表页面中,但未显示在帖子详细信息页面中。谁能让我知道我现在所缺少的,以及是否需要分享其他信息。谢谢!

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

blog / models.py用于帖子详细信息页面类:

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用于帖子详细信息页面:图片未在此处显示

    {% 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用于帖子列表页面:图片显示在此处

{% 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 %}

1 个答案:

答案 0 :(得分:1)

想通了,我使用的是post.Image而不是html页面中的page.Image:D