def post(self, request, *args, **kwargs): user = get_object_or_404(User, id=self.request.user.id) member = get_object_or_404(Member, user=user) user_edit_form = UserEditForm(data=request.POST, instance=user) password_edit_form = ChangePasswordForm(data=request.POST, user=user, initial={}) member_edit_form = MemberDetailsForm(data=request.POST, instance=member) if user_edit_form.is_valid(): user_edit_form.save() if password_edit_form.has_changed(): if password_edit_form.is_valid(): password_edit_form.save() return redirect(reverse('users:login')) if member_edit_form.is_valid(): member_edit_form.save() context = self.get_context_data(**kwargs) context['form'] = user_edit_form context['form2'] = password_edit_form context['form3'] = member_edit_form return render_to_response(self.template_name, context, context_instance=RequestContext(request))