递归包含Python Tornado模板的最佳方法

0 投票
1 回答
1022 浏览
提问于 2025-04-18 18:43

我在我的Python项目中使用了tornado库:

1) 有一个主HTML模板(就是网页的结构),比如:

base.html:

 <html>
 <head>....</head>
 <style>...</style>

 <div id="content">
 {{ sub_template_content }}
 </div>
</html>

2) 有多个子模板,每个页面一个,比如:

page1.html:

<b>page 1 {{ content }}</b>

page2.html:

<b>page 2 {{ content }}</b>

我的想法是总是用“base”模板来构建页面,然后根据获取的参数动态地包含“子模板”。

那么,最好的方法是什么呢?我已经尝试过使用tornado的“include”功能,但没有成功。谢谢!

1 个回答

2

请使用 extendsblock 这个功能。首先在 base.html 文件中:

<div id="content">
    {% block content %}{% end %}
</div>

然后在 page1.html 文件中:

{% extends "base.html" %}
{% block content %}
    page 1 {{ content }}
{% end %}

撰写回答