Add UTF-8 Validation to a Django FileField
Project description
Sometimes you want to only allow the uploading of UTF-8 text files. This library extends the Django FileField by checking if the content of a file is UTF-8. If not, it generates an error. An extra check is executed for four byte long characters, which too can cause problems when trying to process a file as UTF-8.
Requirements
Django >= 1.8
Installation
pip install django-utf8field
Usage
Add the app to your settings:
INSTALLED_APPS = ( ... 'utf8field', ...
Create a model like you would do normally, but instead of using FileField you use UTF8FileField:
from django.db import models from utf8field.fields import UTF8FileField class YourModel(models.Model): title = models.CharField(max_length=255) created_on = models.DateTimeField(auto_add_on=True) text = models.UTF8FileField()
You also have the option to provide the option max_content_length to limit the number of characters in the file. If the content is longer an error will be displayed.
text = models.UTF8FileField(max_content_length=1000)
Development
To run the tests make sure Django is installed (pip install django) and execute
python manage.py test
To create extra translations, execute
pm makemessages --locale=nl --extension=py --ignore=dev_example
… and modify the resulting django.po file in utf8field/locale/nl/LC_MESSAGES.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_utf8field-0.2.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cd771d7dcce728ca6b3e39c7270fde09e8d33d26156dd1ded2b49c2acf1b1c1 |
|
MD5 | b813e93374787a7ca985c880f44a2857 |
|
BLAKE2b-256 | f5ac97df0814e4cc12a41e0ff9a604ac902de0a68f43e4c1401f90e7b505c0a1 |