def render_state(self, step=None, form=None, form_data=None, form_files=None, done=False, status_code=200):
valid = self.is_valid()
current_step = self.get_current_step(step=step)
data = {
'current_step': current_step if not done else None,
'done': done,
'valid': valid,
'structure': self.get_structure(),
'steps': {}
}
for step in self.steps.all:
current_form = None
current_form_data = None
current_form_files = None
if form is not None and step == current_step:
current_form = form
current_form_data = form_data
current_form_files = form_files
data['steps'][step] = self.get_step_data(
step=step, form=current_form, form_data=current_form_data, form_files=current_form_files)
# Allow for manipulating state data before returning
data = self.clean_state_data(data)
return JsonResponse(data, status=status_code, encoder=self.json_encoder_class)
评论列表
文章目录