updated_fields = [] changed_fields = form.changed_data for field_name, field in form.fields.items(): space = 30 - len(field.label) if field_name in changed_fields: updated_fields.append("**%s: %s".rjust(space,' ') % (field.label, form.cleaned_data[field_name])) else: updated_fields.append("%s: %s".rjust(space,' ') % (field.label, form.cleaned_data[field_name])) # save the updated data form.save() # send an email to admin subject = "Partner updated profile information" message = "Partner: " + partner.__unicode__() + " " message += "modified information in their profile.\n\n" message += "Here is the current information (** = changed):\n\n" for line in updated_fields: message += line + '\n' mail_managers(subject, message) # message user request.user.message_set.create(message="Your Profile information has been updated.") # go back to home page return HttpResponseRedirect('/reports')