У меня есть мастер, реализованный с помощью SessionWizardView
, и я выполняю некоторую внутреннюю проверку и вызовы других методов на каждом этапе (например, внутри методов формы init
, clean
или внутри process_step
). Так что на самом деле мне не нужно отправлять все формы и сохранять данные со всех шагов в конце моего мастера. Мне просто нужно перенаправить на главную страницу после последнего шага. Как лучше всего это сделать? Переопределить что-то вроде render_done()
? Какие-либо предложения?
Не отправлять формы повторно в конце мастера Django
Ответы (1)
Похоже, переопределение метода render_done() отлично работает. Но моя проблема была связана с валидацией. У меня было поле, где валидатор проверял, существует ли пользователь. Если нет - он создан на этом шаге. Так что повторная проверка здесь всегда будет неудачной :). Удаление этого кода:
if not form_obj.is_valid():
return self.render_revalidation_failure(form_key, form_obj, **kwargs)
решена проблема повторной проверки в конце мастера.
person
Oink
schedule
28.06.2013
done(self, form_list, **kwargs)
? - person Cartucho   schedule 26.06.2013