在django中从不同块创建模板?

时间:2015-07-14 15:58:40

标签: python django templates django-templates django-views

我正在尝试使用django中不同模板的不同内容创建单个页面,以便我可以打印它。它的不同页面的总结

  • base.html - mainContent块在此模板中呈现
  • main.html - 需要来自此处的mainContent块
  • graph.html - 需要来自此处的mainContent块
  • charts.html - 需要来自此处的mainContent块
  • summary.html - 需要来自主要内容,图表,图表的内容(REQUIRE)

我有一个基本模板,在这样的每个页面上都有扩展(它有导航栏,页脚和侧边栏)

{% extends "base.html" %}

基本模板中有一个块,其中显示了图形,主要图表内容。我想要完成的是从这些页面获取mainContent并将其添加到名为 summary.html

的新模板中

由于每个页面都从基础扩展,我不知道该怎么做?我尝试使用include,但它也会包含每个页面的基础。

编辑:我知道我可以将mainContent分成它自己独立的文件,但我有很多模板,并且正在寻找任何其他解决方案。

1 个答案:

答案 0 :(得分:1)

您可以分开内容。

我猜你有这样的事情:

<!-- graph.html -->
{% extends "base.html" %}
{% block 'mainContent'%}
    {# Your graphs html here #}
{% endblock %}

但你可以将图形html 放在一个单独的,例如graph_template.html模板中并包含它:

<!-- graph.html -->
{% extends "base.html" %}
{% block 'mainContent'%}
    {% include 'graph_template.html' %}
{% endblock %}

然后在 summary.html 中,您可以添加graph_template.html