Hi all, I have a Photo model which should take an image, generate a thumbnail and save both the original and the thumbnail images. I registered the model in the admin site, but when I select an image to upload and click 'Save', I get an error as follows:
Request Method: POST Request URL: http://127.0.0.1:8000/admin/browse/photo/add/ Django Version: 1.2.3 Exception Type: IOError Exception Value: [Errno 2] No such file or directory: u'Lloyd.png' Exception Location: C:\Python26\lib\site-packages\PIL\Image.py in open, line 1952 Python Executable: C:\Python26\python.exe Python Version: 2.6.5 The model looks like this (the line where the error occurs is highlighted): class Photo(models.Model): """ An avatar for a site member """ title = models.CharField(max_length=50) photo = models.ImageField(upload_to='photos/') thumbnail = models.ImageField(upload_to='thumbnails/', editable=False) def save(self): from PIL import Image from cStringIO import StringIO from django.core.files.uploadedfile import SimpleUploadedFile # Set our max thumbnail size in a tuple (max width, max height) THUMBNAIL_SIZE = (65, 65) # Open original photo which we want to thumbnail using PIL's Image # object image = Image.open(self.photo.name) # Convert to RGB if necessary # Thanks to Limodou on DjangoSnippets.org # http://www.djangosnippets.org/snippets/20/ if image.mode not in ('L', 'RGB'): image = image.convert('RGB') # We use our PIL Image object to create the thumbnail, which already # has a thumbnail() convenience method that contrains proportions. # Additionally, we use Image.ANTIALIAS to make the image look better. # Without antialiasing the image pattern artifacts may result. image.thumbnail(THUMBNAIL_SIZE, Image.ANTIALIAS) # Save the thumbnail temp_handle = StringIO() image.save(temp_handle, 'png') temp_handle.seek(0) # Save to the thumbnail field suf = SimpleUploadedFile(os.path.split(self.photo.name)[-1], temp_handle.read(), content_type='image/png') self.thunbnail.save(suf.name+'.png', suf, save=False) # Save this photo instance super(Photo, self).save() class Admin: pass def __str__(self): return self.title What could the issue be? Any ideas welcome. Thanks. -- Regards, Sithembewena Lloyd Dube http://www.lloyddube.com -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.

