Форум сайта python.su
пишу сейчас HTML-widget для FLASK (HTML таблица для отображения данных), столкнулся с проблемой понимания того как правильно делать это. Сейчас собираю html код в переменную, а потом её значение возвращаю в темплейт и там вывожу в контекст страницы. 2й вариант это делать специальный template для этого виджета и рендерить его средствами шаблонизатора.
def render(self): self.html = '<table>' if self.is_visible_header: self.render_header(); self.html += '</table>' return self def render_header(self): self.html +='<tr>' for column in self.columns: self.html += column.render_header_cell() self.html +='</tr>'
Отредактировано kvs1904 (Июнь 12, 2012 09:32:35)
Офлайн
Не совсем понятно, что за виджеты?
По-моему вариант с макросом в темплейте лучше. Кода будет меньше, а возможностей по изменению дизайна (добавления стилей и т.п.) - больше.
http://jinja.pocoo.org/docs/templates/#macros
Офлайн