在Python Bottle中使用模板

时间:2014-07-07 11:08:59

标签: python jinja2 bottle

目前,我在我的一个项目中使用Python Bottle。我想改变它并使用像Jinja2教程的扩展和包含模板,以避免重复导航栏,页脚等。

在Jinja2中我可以使用这样的东西:

{% extends base.html %}

{% block maincontent %}
<here my HTML code>
{% endblock %}

我发现我可以通过导入Jinja2视图和模板将其用于Bottle,但是我必须重新格式化从Bottle到Jinja2格式的HTML页面中的每个Python代码。

例如:

从:

%for i in mylist:
<option>{{i}}</option>
%end

为:

{% for i in mylist %}
<option>{{i}}</option>
{% endfor %}

有没有办法使用扩展瓶模板而不更改我的所有Python代码?我找不到任何教程。

1 个答案:

答案 0 :(得分:2)

模板引擎瓶使用SimpleTemplate,不支持继承。 但是,您可以使用include分隔页眉和页脚等内容,或rebase来模拟继承。

当然,由于SimpleTemplate是,简单,如果您知道自己需要更高级的模板功能,那么现在迁移的成本会更低,而不是以后。