我特意使用Django和Jinja2。这是我第一次尝试使用模板而没有CMS的帮助来选择哪些模板并将它们放在一起。
出于某种原因,我似乎无法理解一堆碎片是如何组合在一起的。
我对这些概念感到满意:
但我正在努力的是:</ p>
现在我摔倒了。
我感觉到我有一个错误的,全局的理解。也许我不了解哪些职责属于模板,哪些责任属于应用程序?
非常感谢!
修改
我想我第一次尝试阐明我的问题并不奏效。这是另一个镜头:
图1显示了我的一些模板(假设)。有一个基本模板,一个标题模板,以及一个正文,侧边栏和页脚模板中的两个。
有一棵继承树。每个模板指定(如果可能,在我的理解中)它扩展了哪个模板。
这就是问题所在。只考虑正文和页脚模板。它们扩展了基础。但根据我的理解,我只能选择其中一个进行渲染。如果我选择其中一个尸体,那么我就无法选择我想要的那个。如果我选择其中一个页脚,那么我就无法选择我想要的那个。如果我想能够选择正文和页脚,根据我的理解,我必须编写四个模板,每个模板一个。当然这不可能是如何运作的?
然后我们有侧边栏。假设我继续制作这四个模板。那么,我的侧边栏应该延伸到四个中的哪一个?如果我希望能够为所有四种布局选择任一侧边栏,那么我现在必须创建八个模板!图2显示了不同的组合。
在一个实际项目中(不仅仅是像我正在进行的个人项目),我希望不仅仅需要处理这些事情。除了已经描述的不同布局之外,我需要在侧边栏中使用不同的块,不同的布局取决于用户是否登录,各种各样的东西。我很容易想象需要编写数百个模板来涵盖所有可能性。
如果这确实是模板系统的工作原理,那么我应该使用什么呢?
答案 0 :(得分:0)
但这些不受支持的工作流程。有意义的唯一情况是扩展父级的子级,并将子级发送到模板引擎。
任何模板也可以直接包含其他模板,但这不是继承链的一部分。