Я пытаюсь использовать валидатор-декоратор в Pylons с FormEncode и столкнулся с проблемой. Я пытаюсь проверить форму в действии контроллера, для которого требуются параметры, и если проверка не удалась, параметры не возвращаются при повторной визуализации формы. Вот пример.
def question_set(self, id):
c.question_set = meta.Session.query(QuestionSet).filter_by(id=id).first()
c.question_subjects = meta.Session.query(QuestionSubject).order_by(QuestionSubject.name).all()
return render('/derived/admin/question_set.mako')
Это действие контроллера, которое содержит мою форму. Форма добавит вопросы к существующему набору вопросов, который идентифицируется по идентификатору. Действие контроллера добавления вопроса выглядит следующим образом:
@validate(schema=QuestionForm(), form='question_set', post_only=True)
def add_question(self):
stuff...
Теперь, если проверка не пройдена, FormEncode пытается повторно отобразить форму question_set, но не передает параметр id обратно, поэтому форма набора вопросов не будет отображаться. Можно ли передать идентификатор обратно с помощью декоратора @validate или мне нужно использовать другой метод для достижения того, что я пытаюсь сделать?