如何找到FileField Django的图像高度和宽度

时间:2016-11-10 05:54:48

标签: python django image models filefield

如果我们的模型定义如下,如何找到图像的高度和宽度

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

并将图像保存在文档中,然后如果是图像,我们如何找到文档的高度和宽度?

1 个答案:

答案 0 :(得分:8)

如果文件始终是图片,请将FileField更改为ImageField,如下所示:

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

否则,您必须手动计算图像宽度和高度:

from django.core.files.images import get_image_dimensions

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