code: def post(self, *args, **kwargs):
          wizard_prev_step = self.request.POST.get('wizard_prev_step', None)
          if wizard_prev_step and wizard_prev_step in self.get_form_list():
              self.storage.current_step = wizard_prev_step
              form = self.get_form(
                  data=self.storage.get_step_data(self.steps.current),
                  files=self.storage.get_step_files(self.steps.current))
              return self.render(form)
          management_form = ManagementForm(self.request.POST, prefix=self.prefix)
          if not management_form.is_valid():
              raise ValidationError(
                  'ManagementForm data is missing or has been tampered.')
          form_current_step = management_form.cleaned_data['current_step']
          if (form_current_step != self.steps.current and
                  self.storage.current_step is not None):
              self.storage.current_step = form_current_step
          form = self.get_form(data=self.request.POST, files=self.request.FILES)
          if form.is_valid():
              self.storage.set_step_data(self.steps.current, self.process_step(form))
              self.storage.set_step_files(self.steps.current, self.process_step_files(form))
              if self.steps.current == self.steps.last:
                  return self.render_done(form, **kwargs)
              else:
                  return self.render_next_step(form)
          return self.render(form)