2015-01-05 3 views
1

Я вызываю render_template из нескольких разных мест, и я бы хотел контролировать, обрабатываю ли я некоторые сегменты HTML, в зависимости от того, откуда я звоню.Условный рендеринг сегмента HTML с использованием render_template

Например:

render_template('index.html', form=form, show_results=1) 

я намеревался использовать show_results логическое значение для флага ли дополнительный сегмент должен быть оказаны или нет. Тем не менее, я пропускаю, какую оболочку я должен иметь в необязательной части кода HTML, чтобы контролировать, должен ли сегмент отображаться или нет. Как я могу это сделать?

ответ

4

Используйте if block:

{% if show_results %} 
    show the results 
{% endif %} 
+0

Я ожидал, что это будет простым решением, но это бьет все мои ожидания! Просто простое решение, в котором я нуждался. Благодаря! – zanzu

+1

Я бы действительно просмотрел документы по этому вопросу, вы обнаружите, что час теперь сэкономит много часов спустя: http: //jinja.pocoo.org/docs/dev/templates/ –

+0

@GG_Python: Отмечено! Мне не хватало, какую часть рамки я должен искать для ответа (jinja, flask, html, css, ...). Я буду более подробно разбираться в документах jinja, как советовали. Я проигнорировал это до сих пор, но при первом просмотре похоже, что ваш совет будет очень скоро окупиться! – zanzu