Sorry about the flood but I made it. I removed the "request.POST" of the "else", and it worked. Thank you Hendrik. Problem solved 2012/6/5 Lucas Aride Moulin <[email protected]>
> I'm sorry, the error was caused because I forgot to dedent the "else". But > it still not showing the current information on the form. (it's working > fine) > > > 2012/6/5 Lucas Aride Moulin <[email protected]> > >> Hi Hendrik, >> >> I did what you said but I got an error because the variable "novo" is >> referenced before it's assignment. >> >> My html of this view is: >> >> <form method='post'> {% csrf_token %} >> {{ novo.as_p }} >> <input type="submit" value="Editar" /> >> </form> >> >> 2012/6/5 Hendrik Speidel <[email protected]> >> >>> Hi Lucas, >>> >>> Try moving the first novo=... Right after if request.method >>> >>> Then dedent the else and the line following it (the second novo) >>> Then remove request.POST from the second novo >>> >>> Explanation: >>> >>> If the request method is not POST this will instanciate an unbound form >>> that loads the data from the instance. >>> If the request method is POST the form is populated using the POST data. >>> If it is valid the instance is saved. If it is not valid django will set >>> the errors on the form >>> >>> Good luck! >>> >>> Hendrik >>> >>> ----- Reply message ----- >>> Von: "Lucas Aride Moulin" <[email protected]> >>> An: <[email protected]> >>> Betreff: How to edit form filling it with actual data >>> Datum: Di., Jun. 5, 2012 23:07 >>> >>> >>> I have a function that creates a form, loading the info that already >>> exists >>> in the DB, but I want it to fill the form with the info loaded. I found >>> an >>> article on djangoproject teaching how to do this, but it won't work with >>> me. >>> At novo = disciplinaForm(request.POST, instance=atual), if I remove the >>> "request.POST" it loads the info, but don't save. And with "request.POST" >>> it do >>> >>> The function: >>> >>> def edit_disciplina(request, disciplina_id): >>> atual = disciplina.objects.get(pk=disciplina_id) >>> novo = disciplinaForm(request.POST, instance=atual) >>> if request.method == 'POST': >>> if novo.is_valid(): >>> novo.save() >>> return HttpResponseRedirect('/disciplinas/success/') >>> else: >>> novo = disciplinaForm(request.POST, instance=atual) >>> return >>> >>> render_to_response('/home/zephir/Template/disciplinas/edit_disciplina.html', >>> {'novo': novo}, context_instance=RequestContext(request)) >>> >>> -- >>> Lucas Aride Moulin, >>> [email protected] >>> >>> -- >>> 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. >>> >>> -- >>> 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. >>> >> >> >> >> -- >> Lucas Aride Moulin, >> [email protected] >> > > > > -- > Lucas Aride Moulin, > [email protected] > -- Lucas Aride Moulin, [email protected] -- 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.

