【问题标题】:Django Wagtail image not showing on post detail pageDjango Wagtail 图像未显示在帖子详细信息页面上
【发布时间】:2018-11-28 19:28:05
【问题描述】:

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

我正在使用 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 %}

【问题讨论】:

    标签: django python-3.x wagtail


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-25
      • 2022-06-20
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      • 1970-01-01
      • 2020-09-08
      • 1970-01-01
      相关资源
      最近更新 更多