在 Django Admin 中验证图像大小,可以通过自定义验证器来实现。以下是一个示例:
validators.py
的文件,并在其中添加以下代码:from django.core.exceptions import ValidationError
from django.utils.translation import gettext_lazy as _
def validate_image_size(image, max_width, max_height):
if image.width > max_width or image.height > max_height:
raise ValidationError(
_('Image dimensions (%(width)dx%(height)d) exceed maximum allowed size (%(max_width)dx%(max_height)d).'),
code='invalid_image_size',
params={
'width': image.width,
'height': image.height,
'max_width': max_width,
'max_height': max_height,
},
)
MyModel
的模型,其中有一个名为 image
的 ImageField
,你可以这样使用验证器:from django.db import models
from .validators import validate_image_size
class MyModel(models.Model):
image = models.ImageField(upload_to='images/', validators=[validate_image_size(max_width=1024, max_height=768)])
这样,当用户上传一个超过 1024x768 像素的图像时,Django Admin 将会验证失败并显示一个错误消息。
注意:这个示例中的代码仅供参考,你可能需要根据你的实际项目需求进行调整。
领取专属 10元无门槛券
手把手带您无忧上云