������ wrote:
> On Dec 17, 7:49 am, Rajesh Dhawan <[email protected]> wrote:
> > On Dec 16, 2:31 am, $B<kKTKT(B <[email protected]> wrote:
> >
> > > Theextra_contextinFormWizardis a class attribute so the new
> > > request may get the context of the previous request.
> > > I can prepend below to __call__ method to solved it:
> >
> > > self.extra_context= self.extra_context.copy()
> >
> > > Is this really a bug?
> >
> > It's most probably a bug. See:http://code.djangoproject.com/ticket/8808
> >
> > Basically, if you hook theFormWizardinto your URL config as
> > documented
> > athttp://docs.djangoproject.com/en/dev/ref/contrib/formtools/form-wizar...,
> > anything you set in self.extra_contextmay become available to another
> > request.
> >
> > Your fix to copy theextra_contextdoesn't solve this problem.
> >
> > Quoting an excerpt from Jacob's response on that ticket: "I should
> > note that the workaround is very simple: either don't store state on
> > self, or instantiate the wizard in a view function. "
> >
> > -Rajesh D
>
> I already instantiate the wizard in a view function when I send the
> first mail.
> Please notice that the extra_context is a class attribute.
While it can be used as a class attribute, the FormWizard API asks you
to use it as an instance attribute (i.e. self.extra_context instead of
FormWizard.extra_context).
> Just instantiate the wizard in a view function did not solved the
> problem, and my fix will solve it.
>
> Add below will fix when instantiate the wizard in urlconf:
>
> Change the last line in __call__ from:
> return self.render(form, request, current_step)
> to:
> response = self.render(form, request, current_step)
> del self.extra_context # here the extra_context is a copy in
> instance, once delete, the next request will copy one from the class
> extra_context
> return response
That's not needed if you instantiate FormWizard every time the view is
called because each new instance of FormWizard will give you an empty
self.extra_context to begin with.
Can you show your view and url conf code fragments that did not work?
-Rajesh
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---