Форум сайта python.su
Всем привет,
Дана некая модель с большим количеством полей (≈50), форма, с целью уменьшения кода, создается через model_form из wtforms.ext.sqlalchemy.orm. В шаблоне вывод формы сделан через цикл и макрос:
{{ form.hidden_tag() }} {% for field in form if field.widget.input_type != 'hidden' %} {{ render_field(field) }} {% endfor %}
setattr(RecordForm, 'year', SelectField(choices=year_choices))
Отредактировано zillion (Ноя. 10, 2014 23:47:18)
Офлайн
И не один раз. Напилил свою обертку, которая поддерживает много няшностей: последовательность полей, обязательность, два вида пометок, нормальный choice_type и еще куча всего. Там нужно перепиливать основательно…
Офлайн
Кстати. Для простоты можете глянуть в сторону sqlalchemy-utils. Он расширяет саму sqlalchemy и позволяет Вам создавать поля типа ChoiceType в БД. При создании форм эти поля автоматом вытягиваются sqlalchemy-wtf и превращаются в соответствующие структуры html.
Отредактировано 4kpt_II (Ноя. 11, 2014 08:18:01)
Офлайн