Improved model validator so that it checks for PIL if ImageFields are used

git-svn-id: http://code.djangoproject.com/svn/django/trunk@685 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2005-09-25 20:01:30 +00:00
parent 530cdb5a8d
commit 26c4356e01
1 changed files with 5 additions and 0 deletions

View File

@ -524,6 +524,11 @@ def get_validation_errors(outfile):
e.add(opts, '"%s" field: CharFields require a "maxlength" attribute.' % f.name) e.add(opts, '"%s" field: CharFields require a "maxlength" attribute.' % f.name)
if isinstance(f, meta.FileField) and not f.upload_to: if isinstance(f, meta.FileField) and not f.upload_to:
e.add(opts, '"%s" field: FileFields require an "upload_to" attribute.' % f.name) e.add(opts, '"%s" field: FileFields require an "upload_to" attribute.' % f.name)
if isinstance(f, meta.ImageField):
try:
from PIL import Image
except ImportError:
e.add(opts, '"%s" field: To use ImageFields, you need to install the Python Imaging Library. Get it at http://www.pythonware.com/products/pil/ .')
if f.prepopulate_from is not None and type(f.prepopulate_from) not in (list, tuple): if f.prepopulate_from is not None and type(f.prepopulate_from) not in (list, tuple):
e.add(opts, '"%s" field: prepopulate_from should be a list or tuple.' % f.name) e.add(opts, '"%s" field: prepopulate_from should be a list or tuple.' % f.name)
if f.choices: if f.choices: