【问题标题】:Creating template from different block in django?从 django 中的不同块创建模板?
【发布时间】:2015-10-03 09:17:18
【问题描述】:

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

  • base.html - mainContent 块在此模板内呈现
  • ma​​in.html - 从这里需要 mainContent 块
  • graph.html - 从这里需要 mainContent 块
  • charts.html - 需要此处的 mainContent 块
  • summary.html - 此处需要主要、图表、图表的内容(需要)

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

{% extends "base.html" %}

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

的新模板中

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

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

【问题讨论】:

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


    【解决方案1】:

    你可以分开内容。

    我猜你有这样的事情:

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

    但是您可以将 graph html 放在一个单独的模板中,比如 graph_template.html 模板并包含它:

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

    然后在 summary.html 中可以包含graph_template.html

    【讨论】:

    • 我知道我能做到。但这只是三个模板的示例,但我有很多模板并且正在寻找任何其他解决方案
    猜你喜欢
    • 2018-12-31
    • 1970-01-01
    • 1970-01-01
    • 2018-10-21
    • 2017-03-03
    • 2015-11-30
    • 2013-08-16
    • 2016-11-20
    • 2011-11-02
    相关资源
    最近更新 更多