Можно ли выполнить Включает с флягой?

20

Скажем, у меня есть шаблон, сохраненный в template.html. Этот шаблон включает в себя баннер, боковую навигацию, контейнер содержимого и нижний колонтитул. Могу ли я использовать флягу для разбивки этих элементов страницы таким образом, что у меня могут быть такие файлы, как banner.html, sidenavigation.html и т. Д. И рендеринг этих разных файлов в template.html?

    
задан Michael 13.03.2012 в 06:55
источник
  • Просто узнал, как это сделать. Чтобы включить html в файл filename.html в template.html, просто добавьте {% include 'filename.html'%} в template.html в местоположение, в которое вы хотите вставить html. –  Michael 13.03.2012 в 07:51

2 ответа

47

От: Ссылка

template.html

{% include 'banner.html' %}
{% include 'sidenavigation.html' %}
{% include 'content.html' %}
{% include 'footer.html' %}
    
ответ дан Liyan Chang 15.05.2012 в 00:03
источник
  • Вы также можете посмотреть на Наследование шаблонов, поскольку это может быть более мощный способ делать то, что вы хотите: jinja.pocoo.org/docs/templates/#template-inheritance –  Liyan Chang 15.05.2012 в 00:03
  • Следует отметить, что вы не можете создать иерархию наследования в Jinja2, вы можете наследовать документ только на один уровень. –  MadPumpkin 21.07.2017 в 06:20
  • @MadPumpkin: Что именно вы имеете в виду это? Вы можете расширить столько уровней, сколько хотите. Невозможно расширить один шаблон из нескольких других (возможно, это то, что вы имели в виду?) –  Roy Prins 31.05.2018 в 13:47
3

По умолчанию Flask использует Jinja2 в качестве механизма шаблона. См. Документацию Документацию по дизайну шаблонов в статье Jinja .

    
ответ дан plaes 13.03.2012 в 11:48
источник