所以我制作了一个模型,其中放置图片是可选的...现在我想要做的是显示所有帖子作为主屏幕的一部分,包括那些没有图像的帖子(用户将图像留空的位置)我该怎么做呢?如果有人可以帮助那将是伟大的!谢谢!这就是我到目前为止所做的:
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]
答案 0 :(得分:4)
None
在布尔上下文中计为False
,因此{% if post.image %}
只能正常工作。