2017-01-05 5 views
0

So habe ich ein Modell, wo das Einfügen eines Bildes ist optional ... Nun, was ich versuche, ist, zeigen alle Beiträge als Teil des Home-Bildschirm einschließlich derjenigen, die nicht tun habe ein Bild (wo der Benutzer das Bild leer gelassen hat) Wie gehe ich vor? Wenn jemand helfen könnte, wäre das toll !! Vielen Dank! Das ist, was ich habe, so weit:Wenn Element Feld hat dann Anzeige Feld 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 %} 

Modell Seite:

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] 

Antwort

4

None zählt als False in einem Booleschen Kontext, so dass nur {% if post.image %} sollte gut funktionieren.

+0

Das hat funktioniert! Vielen Dank!! – Derians