从 django 中的不同块创建模板?
Posted
技术标签:
【中文标题】从 django 中的不同块创建模板?【英文标题】:Creating template from different block in django? 【发布时间】:2015-10-03 09:17:18 【问题描述】:我正在尝试从 django 中的不同模板创建具有不同内容的单个页面,以便我可以打印它。它对不同页面的总结
base.html - mainContent 块在此模板内呈现 main.html - 从这里需要 mainContent 块 graph.html - 从这里需要 mainContent 块 charts.html - 需要此处的 mainContent 块 summary.html - 此处需要主要、图表、图表的内容(需要)我有一个基本模板,它在每个页面上都像这样扩展(它有导航栏、页脚和侧边栏)
% extends "base.html" %
基本模板中有一个块,其中显示图形、主要、图表内容。我想要完成的是从这些页面获取 mainContent 并将其添加到名为 summary.html
的新模板中由于每个页面都从基础扩展,我不知道该怎么做?我尝试使用包含,但它也会包含每个页面的基础。
编辑:我知道我可以将 mainContent 分成自己的单独文件,但我有很多模板并且正在寻找任何其他解决方案。
【问题讨论】:
【参考方案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
。
【讨论】:
我知道我能做到。但这只是三个模板的示例,但我有很多模板并且正在寻找任何其他解决方案以上是关于从 django 中的不同块创建模板?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Django 模板中的“带有模板标签”中设置 Django 渲染块值?