我正在尝试通过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 %}
答案 0 :(得分:1)
想通了,我使用的是post.Image而不是html页面中的page.Image:D