I have created a 2 step form with the FormWizard as follows:
- 1st step: asking user for location
- 2nd step: show several search results depending on the user location, and display it as radioButtons
Now the second form depends on the input of the first form. Several blogs or stackoverflow posts cover similar topics, and I followed the instructions. However, the variable which is supposed to be saved during the process_step is not available for the next _init_.
How do I communicate the variable location from the process_step to _init_?
class reMapStart(forms.Form):
location = forms.CharField()
CHOICES = [(x, x) for x in ("cars", "bikes")]
technology = forms.ChoiceField(choices=CHOICES)
class reMapLocationConfirmation(forms.Form):
def __init__(self, user, *args, **kwargs):
super(reMapLocationConfirmation, self).__init__(*args, **kwargs)
self.fields['locations'] = forms.ChoiceField(widget=RadioSelect(), choices=[(x, x) for x in location])
class reMapData(forms.Form):
capacity = forms.IntegerField()
class reMapWizard(FormWizard):
def process_step(self, request, form, step):
if step == 1:
self.extra_context['location'] = form.cleaned_data['location']
def done(self, request, form_list):
# Send an email or save to the database, or whatever you want with
# form parameters in form_list
return HttpResponseRedirect('/contact/thanks/')
Any help is absolutely appreciated.
Thanks, H
PS: posting was updated with newer code.
The working code, after solving the problem with Yuji's help (Thank you) is: