7

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 ?

2
  • 1
    You can change it to an ImageField and use width_field and height_field arguments. Commented Nov 10, 2016 at 5:55
  • did you mean ImageField(MModel.objects.all()[0]).height ?? Commented Nov 10, 2016 at 5:57

1 Answer 1

24

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)
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.