I'm not able to test this idea directly myself at the moment, but it appears you're storing an absolute path (i.e., starting from the filesystem root) in self.thumb. I'm pretty sure FileFields (and, by extension, ImageFields) store relative paths from settings.MEDIA_ROOT.
(To make sure I'm thinking about this properly (since again, I can't double-check this right now), you might want to see what the value of the thumb field is in the database first. If I'm right, you should see a path that consists of a relative path followed by an absolute one, such as "2010/0104//home/username/webapps/media/2010/0104/ something.thumbnail.jpg".) An absolute path is certainly helpful for actually operating on the file, but before self.thumb = imfile + ".thumbnail.jpg" you'll need something like imfile, ext = os.path.splitext(self.photo) # NOT .path, so this is a relative path, not an absolute one to make this work properly. Hope that helps. -Justin On Jan 4, 5:15 am, nameless <xsatelli...@gmail.com> wrote: > I have writed this code but it doesn't work. What is the error ? > > from django.db import models > from django.forms import ModelForm > from PIL import Image > import glob, os > > thumb_size = 90, 90 > > class book(models.Model): > title = models.CharField(max_length=200) > photo = models.ImageField(upload_to='bookphoto') > thumb = models.ImageField(upload_to='bookthumb') > > def save(self): > > file_path = self.photo.path > if (file_path): > imfile, ext = os.path.splitext(file_path) > im = Image.open(file_path) > im.thumbnail(thumb_size, Image.ANTIALIAS) > im.save(imfile + ".thumbnail.jpg", "JPEG") > self.thumb = imfile + ".thumbnail.jpg" > super(book, self).save() > > class BookForm(ModelForm): > > class Meta: > model = book > exclude = ('thumb',) > > Please help me, I am going crazy :-\ > > -------------- > > On Jan 2, 5:17 pm, Xia Kai(夏恺) <xia...@gmail.com> wrote: > > > Hi, > > > This is a fantastic app, though it might be too fat for a minimalist like > > me. ^_^ > > > I would recommend override the default save method of the model and resize > > the original photo using PIL. For the overriding part, you could consult the > > documentation:http://docs.djangoproject.com/en/dev/topics/db/models/#overriding-pre... > > > ------------------------ > > Xia Kai(夏恺) > > xia...@gmail.comhttp://blog.xiaket.org > > > -------------------------------------------------- > > From: "Chris Moffitt" <ch...@moffitts.net> > > Sent: Saturday, January 02, 2010 11:59 PM > > To: <django-users@googlegroups.com> > > Subject: Re: Photo + thumbnail > > > > You'll probably want to use one of Django's thumbnail apps. Here's the one > > > I > > > recommend: > > >http://code.google.com/p/sorl-thumbnail/* > > > > -*Chris > > > > On Sat, Jan 2, 2010 at 9:48 AM, nameless <xsatelli...@gmail.com> wrote: > > > >> Hi everyone I have a simple question. > > >> This is my model: > > > >> class book(models.Model): > > >> title = models.CharField(max_length=50) > > >> photo = models.ImageField(upload_to='images/avatar/') > > >> thumb = models.ImageField(upload_to='images/thumb/') > > > >> I want in photo original photo and in thumb the same photo but > > >> resized. > > >> How do I do that in simplest way ? > > > >> Thank you and Good year ^_^ -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.