【发布时间】:2014-12-03 23:56:39
【问题描述】:
我有 .NET MVC 方面的经验,想学习 Python 框架。我选择了金字塔。
.NET MVC 具有母版页、视图和部分视图的概念。母版页看起来像:
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title><asp:ContentPlaceHolder ID="TitleContent" runat="server" /></title>
</head>
<body>
<div>
<asp:ContentPlaceHolder ID="MainContent" runat="server" />
</div>
</body>
</html>
然后我可以创建一个视图,该视图将填充母版页中MainContent 标识的空间。
通过 Pyramid wiki 教程 here,我看到作者在他的每个模板中都重复了许多相同的内容——通常在母版页中定义的内容——并且完全违反了 DRY 。
Pyramid 中有母版页的概念吗?
【问题讨论】:
-
除了@SeanViera 的回答,看看这个回答:stackoverflow.com/a/11025111/320021 - 有关如何使用 Chameleon 将主模板传递给视图的示例。
-
大多数现代模板引擎实现了两种主要的代码重用方法: * 一个模板可以包含其他模板或模板片段 * 一个模板可以从另一个模板继承以更改或扩展父模板
标签: master-pages pyramid chameleon template-metal