On Tue, Nov 4, 2008 at 9:59 AM, Håkan Waara <[EMAIL PROTECTED]> wrote:
>
> I would love any ideas or feedback around this area, and to hear of
> how others in the community do it.
>
> /Håkan

I would just use two Forms.

Forms:

    class EditUserForm(forms.ModelForm):
        class Meta:
            model = User
            fields = (email, first_name, last_name)

    class EditProfileForm(forms.ModelForm):
        class Meta:
            model = Profile
            fields = (avatar, location)

View:

    def edit_user(request, user_id):
        user = get_object_or_404(User, id=user_id)
        profile = user.get_profile()

        if request.method == 'POST':
            user_form = EditUserForm(request.POST, instance=user)
            profile_form = EditProfileForm(request.POST,
                                           instance=profile)
            if all([user_form.is_valid(), profile_form.is_valid()]):
                user_form.save()
                profile_form.save()
                return HttpResponseRedirect(
                    reverse('user_profile', args=[user_id]))
        else:
            user_form = EditUserForm(instance=user)
            profile_form = EditProfileForm(instance=profile)

        return render_to_response('edit_user.html', {
            'user_': user,
            'user_form': user_form,
            'profile_form': profile_form,
        }, context_instance=RequestContext(request))

Template:

    <form action="{% url edit_user user_.id %}" method="POST">
      {{ user_form.as_p }}
      {{ profile_form.as_p }}
      <div class="buttons">
        <input type="submit" value="Edit">
        <a href="{% url user_profile user_.id %}">Cancel</a>
      </div>
    </form>

Regards,
Jonathan.

--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to