Accessing image dimensions on an ImageField in a Django template?
20,890
Solution 1
See the documentation for ImageField.
In addition to the special attributes that are available for FileField, an ImageField also has height and width attributes.
So just do the following:
<img src="{{ image.url }}" width="{{ image.width }}" height="{{ image.height }}"/>
Solution 2
In my case, for the width
and height
fields to work, I need to set the width_field
and height_field
of the ImageField
E.g.
class Product(models.Model):
image = models.ImageField(width_field='image_width', height_field='image_height')
image_width = models.IntegerField()
image_height = models.IntegerField()
Related videos on Youtube
Author by
olegmil
Updated on August 09, 2020Comments
-
olegmil over 3 years
I have
ImageField
in my model and I'm able to display the image in a template. However, how do I retrieve the image's height and width? -
bonbon.langes over 10 yearshmmm.. it doesn't work on my end.
{% with post.postimage_set.all as image %}
<a href="{{ image.get_image_url }}"><img src="{{ image.get_image_url }}" title="{{ image.title }}" alt="{{ alt }}" width="{{ image.width }}" height="{{ image.height }}" /></a>
{% endwith %}