如果item有字段,则显示字段Django

时间:2017-01-05 22:27:44

标签: python django

所以我制作了一个模型,其中放置图片是可选的...现在我想要做的是显示所有帖子作为主屏幕的一部分,包括那些没有图像的帖子(用户将图像留空的位置)我该怎么做呢?如果有人可以帮助那将是伟大的!谢谢!这就是我到目前为止所做的:

HTML:

{% for post in posts.all %}

    <a href="{% url 'postDetail' post.id%}"><h3>{{post.title}}</h3></a>
    <h4><span class="glyphicon glyphicon-time" aria-hidden="true"></span> {{post.pubDatePretty}}</h4>
    <br />
    {% if POST HAS IMAGE %}
        <img src="{{ post.image.url }}" class="img-responsive center-block" style = "max-height:150px;"/>
    {% endif %}
    <br />
    <p>{{post.summary}}</p>
    <br />
    <br />
    <br />
{% endfor %}

模特页面:

from __future__ import unicode_literals
from django.db import models

class Post(models.Model):
    title = models.CharField(max_length=250)
    pubDate = models.DateTimeField()
    image = models.ImageField(upload_to='media/', null=True, blank=True)
    body = models.TextField()

    def __str__(self):
        return self.title

    def pubDatePretty(self):
        return self.pubDate.strftime('%b %e %Y')

    def summary(self):
        return self.body[0:100]

1 个答案:

答案 0 :(得分:4)

None在布尔上下文中计为False,因此{% if post.image %}只能正常工作。