Paras Meena Paras Meena - 23 days ago 15
Python Question

how to find height and width of image for FileField Django

How to find height and width of image if our model is defined as follow

class MModel:
document = FileField()
format_type = CharField()


and image is saved in document then how we can find height and width of a document if it is image ?

Answer

If the files will always be images, change FileField to ImageField, like this:

def MyModel(models.Model):
  height = models.IntegerField()
  width = models.IntegerField()
  document = models.ImageField(height_field='height', width_field='width')

Otherwise, you'll have to manually calculate the image width and height:

from django.core.files.images import get_image_dimensions

obj = MModel.objects.get(pk=1)
width, height = get_image_dimensions(obj.document.file)
Comments