You can override the post method in the view as follows:
class YourWizardView(SessionWizardView):
def post(self, *args, **kwargs):
form = self.get_form(
data=self.request.POST, files=self.request.FILES)
data = self.get_all_cleaned_data()
form.is_valid()
data.update(form.cleaned_data)
return super(YourWizardView, self).post(*args, **kwargs)
def get_form_instance(self, step):
obj = None
if 'pk' in self.kwargs:
obj = get_object_or_404(
YourModel, pk=self.kwargs['pk'])
return self.instance_dict.get(step, obj)
If you want the user to go back and look through the data without clicking further, you can do javascript to send data via ajax (for example, every 5 seconds)
source
share