Я создал двухшаговую форму с помощью FormWizard следующим образом:
- 1-й шаг: запрос пользователя о местоположении
- 2-й шаг: показать несколько результатов поиска в зависимости на месте пользователя и отображать его как radioButtons
Теперь вторая форма зависит от ввода первой формы.Несколько блогов или сообщений от stackoverflow охватывают похожие темы, и я следовал инструкциям. Однако переменная, которая должна быть сохранена во время шага процесса, недоступна для следующего _ init _.
Как передать переменнуюрасположение от process_step до _ 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/')
Любая помощь приветствуется.
Спасибо, H
PS: пост был обновлен с более новым кодом.