繁体   English   中英

post_detail不显示图像

[英]post_detail doesnt display image

我有一个很奇怪的问题。 我的索引页面显示图像。 没有任何错误,代码在这里:

def index(request):
    post = Post.objects.get(id=1)
    return render_to_response("index.html", {"post":post}, context_instance=RequestContext(request))

但是我的详细信息页面没有显示图像。 代码在这里:

class PostDetailView(DetailView):
    context_object_name = "post"
    model = Post
    template_name = "post_detail.html"

    def get(self, request, *args, **kwargs):
        self.next = self.request.get_full_path()
        return super(PostDetailView, self).get(request, *args, **kwargs)

    def get_context_data(self, **kwargs):
        context = super(PostDetailView, self).get_context_data(**kwargs)
        context["form"] = CommentForm()
        context["next"] = self.next
        context["object_id"] = context['post'].id
        context["comments"] = Comment.objects.filter(
            content_type=ContentType.objects.get_for_model(self.model),
            object_id=context['post'].id, is_published=True)

        return context

我的post_detail.html页面:

{{ post.title }}  -----here ok!
{{ post.content }} ------here ok!
<div class="img">
    {% if post.image %}
        <img src="media/{{post.image_thumb}}" /> -----but here not ok.Why?
    {% endif %}
</div>

我的index.html

{{ post.title }}
{{ post.content }}
<div class="img">
    {% if post.image %}
        <img src="media/{{post.image_thumb}}" />
    {% endif %}
</div>    

那我的问题是什么,谢谢您的时间。

首先,请确保已正确地在文件settings.py中设置了媒体目录,然后将图像网址更改为:

  <img src="/media/{{post.image_thumb}}" /> 

你错过了一个斜线

您应该使用{{ post.image_thumb.url }}而不是{{ post.image_thumb }}

{{ post.image_thumb }}隐式调用post的__unicode__方法,但是您想要的是image的url属性,您可以由此获得image的绝对URL。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM