В предыдущем вопросе я пытался найти правильную стратегию для передачи данных между формами в пирамиде. Основываясь на полученном ответе, я решил использовать скрытую форму.
Я начал реализовывать это и думаю, что должен быть лучший способ передачи данных. В частности, передача параметров через url приводит к кортежу, который разбирается беспорядочно.
Я хочу, чтобы он был достаточно общим, чтобы не знать, какие параметры имеет форма, а также для обработки полей файла.
Как я сейчас пытаюсь передать данные формы на страницу подтверждения:
@view_config(renderer="templates/derived/load/error.mak", route_name='process_model_route')
def process_model(self):
#processing logic and validaton, failiure in validation sends user to error.mak
return HTTPFound(route_url('confirm_model_route', self.request, fparams=self.request.POST))
Маршрут: config.add_route('confirm_model_route', 'rnd2/model/confirm/*fparams')
@view_config(renderer="templates/derived/confirm/model.mak", route_name='confirm_model_route')
def confirm_model(self):
form_dict = self.request.matchdict['fparams']
#need to decode and pass to template
return dict({'load_route':load_route, 'form_dict':form_dict})
Шаблон подтверждения / model.mak будет содержать скрытую форму.