0

有没有办法构建网站的三个或四个部分(三个或四个 html 模板),然后在 GAE python 中渲染其中的一些或全部?我知道我可以加载和呈现一个特定的 html django 模板,但我想在不同的文件中为网站的不同部分构建模板,然后根据情况将它们组合在一起。

一个很好的例子是,我希望在我的大多数 Web 应用程序页面中使用几乎相同的菜单、页眉、页脚,但我想切换内容的特定部分。所以我想有一个文件和模板来处理让我们说类和另一个处理学生,所以网站的总体外观(main.html)保持不变,但我显示和处理有关学生的信息的方式或类是完全不同的。我基本上想将一堆特定于页面的 html 植入通用模板中。感谢您对此的任何帮助。:)

我不确定我正在寻找的正确技术术语是什么(我尝试搜索)。=> 我认为他们在 Zend 框架中将其称为复合视图或站点片段。

4

1 回答 1

6

您应该在 Django 中使用模板继承。看看这个教程作为开始。

编辑关于模板继承的官方Django Book 部分还演示了不同的“片段”(例如页脚或导航栏)如何存储在不同的模板文件中,并通过包含和继承组合在一起。

该站点显示了一个模板如何从另一个模板继承,例如当站点部分模板扩展基本布局模板时,使用代码,例如,

{% extends "base.html" %}

它还展示了如何使用模板包含,例如,将不同的部分添加到更大的模板中,例如拼图中的部分。例如,可以将导航片段添加到带有短语的布局文件中

{% include "nav.html" %}

正如@Nick Johnson 的评论中所指出的:extends更紧凑,可以不需要使用多个文件片段。仅include作为最后的手段,如果extends你失败了。

编辑另请参阅我对“如何将大型 HTML 文件切割成多个 HTML 文件”的问题的回答

于 2012-04-29T11:22:26.863 回答