2013-11-19 3 views
1

В контроллере (// view) я выполняю операцию exists в базе данных. Если результат положительный, я возвращаю один и тот же URL-адрес и форму и высвечиваю сообщение.Как передать переменную для макроса jinja из контроллера?

При выполнении этого я хотел бы отобразить одно из полей (например, form.email) с дополнительным набором переменных (который обычно по умолчанию равен None), чтобы пометить его как ошибочное поле.

Как это сделать, используя шаблоны jinja и колбу?

Я не прошу ввести код, но направление, поскольку я не могу понять, как идти.

Я работаю с флягой, WTForms и Jinja.

Спасибо

+0

Существует множество способов передачи данных при работе с jinja, но, не видя какого-либо кода, мы не можем помочь вам указать, что вам нужно изменить, чтобы передать некоторые новые данные. – SingleNegationElimination

+0

Привет @IfLoop, я решил проблему с помощью вспомогательного класса полей field.flags WTForms. Я удалю вопрос через минуту. Спасибо за ваш добрый интерес к помощи. – Phil

+0

@Phil Не удаляйте его, отправляйте ответ на свой вопрос и принимайте его - это полностью нормально, и даже поощряется. –

ответ

1

Если процедура встречает (высокий уровень) эксплуатационной ошибки, и вы не можете объявить это как validator в ваших WTForm объектов, вы можете найти другое решение, чтобы отметить, что конкретный field как заблудших.

Один из способов сделать это можно с помощью WTForms 'вспомогательный класс flags.

Ex:

form.field_name.flags.erring = True 

Затем, когда вы рендеринга поле, через макрос или нет, вы можете проверить, если erring флаг установлен в True.

Смежные вопросы