Skip to content

image size validators

utils/image_size_validators.py

from django.core.exceptions import ValidationError

def validate_image_size(value):
    """
    Validates that the uploaded image is at most 2MB.
    """
    # Limit file size to 5MB
    max_size = 2 * 1024 * 1024 

    # Check if the uploaded file exceeds the maximum size
    if value.size > max_size:
        raise ValidationError('The maximum image size allowed is 2MB.')

Usage

models.py

from django.db import models
from utils.image_size_validators import validate_image_size

class Gallery(models.Model):
    title = models.CharField(max_length=120, null=True, blank=True, help_text='Optional')
    image = models.ImageField(upload_to='gallery/',  validators=[validate_image_size])