> I now want to take an existing user record and create an edit account > form, where the data entered by the user in the registration form is > represented and available to edit. Seemed simple when I set out to do > it, but I can't seem to populate the form.
It's pretty easy. You provide a page with the edit link and you create a user_edit view or whatever. Now in that view you simply check if the user is authenticated and then get his id. > Should I define which data goes into the form fields using the > 'initial' data in the Form definition? If so, how would I do this, > because I don't know the user_id and can't place a - > userid=request.user.id request in this definition. I don't really understand why you can't but you don't need the ID because the authenticated user is already in request.user attribute Anyway the pattern is: def profile_edit(request): if not request.user.is_authenticated(): # blah blah if request.method == "POST": new_data = request.POST.copy() form = UserEditForm(new_data) if form.is_valid(): clean_data = form.clean_data # blah blah return HttpResponseRedirect("/whatever/") else: data = _get_user_data(request) form = UserEditForm(initial=data) context = Context({'form': form}) return render_to_response('blahblah/account.html', context) In this way when the page is accesed with a GET you call _get_user_data() to retrieve the data to put in the form otherwise you check for errors and validate. In _get_user_data() you actually populate the dictionary with something like this: def _get_customer_profile_data(request): first_name = request.user.first_name last_name = request.user.last_name # go on with the other fields # if you have a profile associated user_profile = request.user.get_profile() whatever = user_profile.whatever del user_profile return locals() HTH -- Lawrence, oluyede.org - neropercaso.it "It is difficult to get a man to understand something when his salary depends on not understanding it" - Upton Sinclair --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---