adrianoveiga / django-file-validator

Simple project to validate FileFields/ImageFields, like max size of uploaded file.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

https://travis-ci.org/adrianoveiga/django-file-validator.svg?branch=master

django-file-validator

Simple project to validate FileFields/ImageFields, like max size of uploaded file.

Until now, there is only one validator: MaxSizeValidator.

NOT WORKING WITH NEW DJANGO 1.10.

Dependencies

  • Django 1.8 or higher (not tested on previous versions) but lower than 1.10!!

Installation

pip install django-file-validator

IMPORTANT: If you want use django translations, you need to put 'django_file_validator' on your INSTALLED_APPS (on settings.py). Doing this, validator's error messages will be translated (only English, Spanish and Portuguese-BR for now).

Usage

In your models, import and use MaxSizeValidator:

from django_file_validator.validators import MaxSizeValidator

class YourModel(models.Model):

    . . .

    image = models.ImageField( null=True, blank=True, upload_to='uploads/yourmodel/img/', validators=[MaxSizeValidator()])

    . . .

You can change the max size value passing a parameter on each attibute:

from django_file_validator.validators import MaxSizeValidator

class YourModel(models.Model):

    . . .

    default_image = models.ImageField( null=True, blank=True, upload_to='uploads/yourmodel/img/', validators=[MaxSizeValidator()])
    big_image = models.ImageField( null=True, blank=True, upload_to='uploads/yourmodel/img/', validators=[MaxSizeValidator(2048)])
    small_image = models.ImageField( null=True, blank=True, upload_to='uploads/yourmodel/img/', validators=[MaxSizeValidator(256)])

    . . .

Configurations

  • FILE_SIZE_LIMIT_IN_KILOBYTES

    You can change the default max size limit of uploaded files, just putting this variable on settings.py. Default value is 512 kB.

    FILE_SIZE_LIMIT_IN_KILOBYTES=512

About

Simple project to validate FileFields/ImageFields, like max size of uploaded file.

License:MIT License


Languages

Language:Python 100.0%