我很快就会让朋友通过我的小Django项目的管理界面上传图片。我希望他遵循两条规则:
我目前的型号如下:
class MapLayout(models.Model):
name = models.CharField(max_length=255)
description = models.TextField(max_length=255)
slug = models.SlugField(max_length=255)
def upload_details(instance, filename):
path = "maps/" # Upload location
format = instance.slug + '.png' # Filename
return os.path.join(path, format)
image = models.ImageField(upload_to=upload_details)
def __str__(self):
return self.name
作为参考,我使用Python 3.4运行Django 1.6
如何在上传前验证图像的高度,宽度和文件类型?
答案 0 :(得分:1)
您可以使用像Pillow这样的库来执行此操作:
from PIL import Image
image=Image.open(filepath)
image.size # (width,height) tuple
image.format # (keeps the image format)
您可以在官方文档中找到更多信息: