【发布时间】:2015-04-14 08:02:37
【问题描述】:
我对 jinja2 中的继承有疑问。
这是我的 layout.html 的样子:
<html>
<body>
<div id='header'>Some header stuff</div>
<div id='left-panel'>{% block lpanel %}</div>
<div id='content'>{% block content %}</div>
<div id='right-panel'>{% block rpanel %}</div>
<div id='footer'>Some footer stuff</div>
</body>
</html>
3 个 div(左右面板和内容)是动态的,应该填充一些功能。
现在的问题是:我应该怎么做才能以正确的方式实现我的目标?
我应该在这里创建一些子模板吗?或者也许我的函数,为这 3 个 div 创建内容应该返回 HTML,我应该将它的结果作为参数传递给布局模板? (不是最优雅的解决方案......)还有其他方式吗?
编辑: 感谢您的回答,但不幸的是我仍然有一些疑问......我不知道将这些模板与我的烧瓶/python代码连接起来的正确方法是什么......
如果我只有一个 layout.html 和一个扩展布局的子模板,那真的很简单:在 python 中,我编写一个函数并以类似 'return render_template('child.html', my_varables. ...)
但在这里我需要 3 个功能:一个用于渲染主“内容”div 的内容,另外 2 个用于创建左右面板。如何加入所有 3 个以获取我的输出页面?
【问题讨论】: