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 [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
-~----------~----~----~----~------~----~------~--~---

Reply via email to