2009/4/1 TTear1943 <1943....@gmail.com>

>
> I seems it doesnot work when update an ImageField.
>

Certainly ImageFields can be updated.

You've omitted from the code you posted what exactly is done by the function
user.handle_upload_user_avatar(), which is my first guess as to where the
problem is.  If you want help solving the problem, you will need to include
more of what your code is doing (dpaste.com is likely a better place for
than inline in email for any large block of code) , and also it would help
if you were very specific about the error messages, tracebacks, or whatever
you are encountering.

For example you say "the avatar cannot be uploaded to AVATAR_TEMP_DIR".  Why
not?  What exactly happens?

You also appear to be drawing conclusions from what you are seeing, when you
state things like: "It seems that, after create the user. the
AVATAR_TEMP_DIR set to upload_to is lost, so the program doesn't know where
to upload the file."  I don't believe this conclusion is valid, but I'm not
sure what you saw that made you come to that conclusion, so I'm having a
hard time guessing what might be the real problem.

Karen


>
> On 4月1日, 下午5时37分, TTear1943 <1943....@gmail.com> wrote:
> > Hi, I encounter a problem.
> > In my user models there is an atrrbution: user.avatar = ImageField
> > ('avatar', upload_to=AVATAR_TEMP_DIR, blank=True, null=True)
> > then i use a modelform as an create user form. And the avatar is
> > uploaded corrcet. Which upload to AVATAR_TEMP_DIR, then I move the
> > avatar into AVATAR_ORIGINAL_PATH and make user.avatar._name as
> > AVATAR_ORIGINAL_PATH % user.id
> > After this, then I try to change an avatar. So I user another
> > modelform to update. however, this time the avatar cannot be uploaded
> > to AVATAR_TEMP_DIR, so I also cannot move the avatar to
> > AVATAR_ORIGINAL_PATH.
> > It seems that, after create the user. the AVATAR_TEMP_DIR set to
> > upload_to is lost, so the program doesn't know where to upload the
> > file.
> > Can anyone help me to solve this problem? Thank you very much.
> >
> > class UserForm(forms.ModelForm):
> >     class Meta:
> >         model = User
> >         fields = ('name', 'user_avatar', 'description')
> >
> > class UserAvatarForm(forms.ModelForm):
> >     class Meta:
> >         model = User
> >         fields = ('user_avatar')
> >
> > @login_required
> > def user_create(request):
> >     if request.method == 'POST':
> >         form = UserForm(request.POST, request.FILES)
> >         if form.is_valid():
> >             user = form.save(commit=False)
> >             user.save()
> >             user.handle_upload_user_avatar() # move image from
> > AVATAR_TEMP_DIR to AVATAR_ORIGINAL_PATH
> >             user.save()
> >             return HttpResponseRedirect(user.url)
> >
> >     else:
> >         form = UserForm()
> >
> >     return render_to_response('user/user_create.html', locals())
> >
> > @login_required
> > def settings_user_avatar(request, user_name):
> >     user = get_object_or_404(User, name=user_name)
> >     if request.method == 'POST':
> >         form = UserAvatarForm(request.POST, request.FILES,
> > instance=user)
> >         if form.is_valid():
> >             user = form.save()
> >             user.handle_upload_user_avatar() # move image from
> > AVATAR_TEMP_DIR to AVATAR_ORIGINAL_PATH
> >             user.save()
> >             return HttpResponseRedirect(user.url)
> >     else:
> >         form = UserAvatarForm(instance=user)
> >
> >     return render_to_response('user/user_avatar.html', locals())
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@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
-~----------~----~----~----~------~----~------~--~---

Reply via email to