On Feb 2, 2009, at 23:32, lbologn...@gmail.com wrote: > On Feb 1, 2:38 am, "mattimust...@gmail.com" <mattimust...@gmail.com> > wrote: > >> I never understood the logic of it either. I also expected to be able >> to do something like {{previous_fields.firstname }}. > > Found it! > > class EnrollWizard(FormWizard): > > def get_template(self, step): > return 'enroll_wizard_%s.html' % step > > def process_step(self, request, form, current_step): > > if current_step == 3: > form0 = self.get_form(0, request.POST) > form1 = self.get_form(1, request.POST) > form2 = self.get_form(2, request.POST) > > context = (dict(form0=form0, form1=form1, form2=form2)) > > return render_to_response(self.get_template(self.step), > context) > > And then in the template to display a summary i play with ifequal > > {%ifequal form0.course 2%} > Intensive course > {%endif%} > > {%ifequal form0.course 1%} > Standard course > {%endif%} > > If anybody has a more elegant solution i'm all ears!
Not sure whether it is more elegant or not, but here goes: As I understand it, the wizard-class contains an extra_context that automatically gets handed to the templates. You can modify the extra_context in the process_step-method, allowing you to add additional information for each step you go through. Also, as I understand it, the process_step-method is given a cleaned (correct) form for the current step, so you can extract information from that form and put it into the extra_context. Thus, you could do something like (no changes to get_template): class EnrollWizard(FormWizard): def process_step(self, request, form, step): if step == 0: self.extra_context['foo'] = form.cleaned_data['foo'] elif step == 1: self.extra_context['bar'] = form.cleaned_data['bar'] elif step == 3: self.extra_context['baz'] = form.cleaned_data['baz'] Now, in each template you will have access to more and more additional information, just like so: {{ foo }} {{ bar }} {{ baz }} I am not sure exactly how this maps to your example (as I do not fully understand it), but maybe it could simplify things slightly for you? Now, if someone could point me to a simple way of combining form wizards with formsets, my day would be complete... :-) Cheers, johan -- Johan Liseborn --~--~---------~--~----~------------~-------~--~----~ 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 django-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---