简化化合物扩展

时间:2016-01-13 18:46:28

标签: python flask jinja2

在我的主页上,我想使用我已定义为部分的其他页面。在我的导航之后,我有一部分新闻和团队成员在我的网站上作为独立页面运行。它看起来像这样:

Header
Nav
<div class="content">
  {% include 'news.html' %}
  {% include 'officers.html' %}
</div>
Footer

所以我的新闻有一些基本的HTML,但为了不克隆我的标题和导航我必须添加这一行:

{% if page_data.current_page == 'news' %} {% extends "base.html" %} {% endif %}

有没有办法简化这个陈述?

1 个答案:

答案 0 :(得分:0)

处理此问题的替代方法是将news.html的正文移动到部分内容中,例如partials/news.html然后include您的主页和新闻页面本身:

{# home.html #}
Header
Nav
<div class="content">
  {% include 'partials/news.html' %}
  {% include 'officers.html' %}
</div>
Footer

然后在news.html

{% extends "base.html" %}
{% block where_news_belongs %}
    {{ super() }} {# if we need to include the contents of the block #}
    {% include 'partials/news.html %}
{% endblock where_news_belongs %}