I'm using an ImageField
to store profile pictures on my model.
How do I set it to return a default image if no image is defined?
I'm using an ImageField
to store profile pictures on my model.
How do I set it to return a default image if no image is defined?
you could try this in your view:
{% ifequal object.image None %}
<img src="DEFAULT_IMAGE" />
{% else %}
display image
{% endifequal %}
I haven't tried this, but I'm relatively sure you can just set it as a default in your field.
pic = models.ImageField(upload_to='blah', default='path/to/my/default/image.jpg')
EDIT: Stupid StackOverflow won't let me comment on other people's answers, but that old snippet is not what you want. I highly recommend django-imagekit because it does tons of great image resizing and manipulation stuff very easily and cleanly.
You could theoretically also use a function within your model definition. But I dont know whether this is good practice:
class Image(model.Models):
image = ....
def getImage(self):
if not self.image:
# depending on your template
return default_path or default_image_object
and then within a template
<img src="img.getImage" />
This gives you a great deal of flexibility for the future...
I'm using sorl for thumbnails generation with great success