Python中如何使用Mako模板引擎生成HTML页面
Mako是一个Python模板引擎,它允许我们将业务逻辑和显示逻辑分开,生成动态的HTML页面。下面,我将介绍如何使用Mako模板引擎生成HTML页面,并且提供一个简单的使用例子。
1. 安装Mako模板引擎:
在命令行中输入以下命令进行安装:
pip install Mako
2. 创建一个Mako模板:
在你的项目中创建一个名为"template.html"的文件,这将是我们的模板文件。模板文件可以包含HTML标签和Mako的模板语法。
<!DOCTYPE html>
<html>
<head>
<title>${title}</title>
</head>
<body>
<h1>${heading}</h1>
<ul>
% for item in items:
<li>${item}</li>
% endfor
</ul>
</body>
</html>
在这个例子中,我们使用${variable}来引用变量,% for ... % endfor来遍历列表。
3. 生成HTML页面:
在Python代码中,我们需要导入Mako库,并且调用它的Template类来加载模板文件,创建一个模板对象。然后,我们可以为模板中的变量赋值,并且渲染模板,生成HTML页面。
from mako.template import Template # 加载模板文件 my_template = Template(filename='template.html') # 为模板变量赋值 title = "My Page" heading = "Welcome to my page" items = ["Item 1", "Item 2", "Item 3"] # 渲染模板 rendered_html = my_template.render(title=title, heading=heading, items=items)
在这个例子中,我们创建了一个模板对象my_template,然后为模板中的变量title、heading和items赋值。最后,我们调用render()方法渲染模板,并将结果保存在变量rendered_html中。
4. 将生成的HTML页面保存到文件或发送给客户端:
生成的HTML页面保存在变量rendered_html中。你可以选择将其保存到文件中或发送给客户端,取决于你的具体需求。
# 将HTML页面保存到文件
with open('output.html', 'w') as file:
file.write(rendered_html)
# 或者,将页面发送给客户端
print(rendered_html)
在这个例子中,我们使用open()函数创建一个文件对象,然后使用write()方法将生成的HTML页面写入文件。也可以直接将生成的HTML页面打印出来,这样页面内容就会显示在控制台中。
这就是使用Mako模板引擎生成HTML页面的基本过程。你可以根据具体需求,对模板文件和Python代码进行修改和扩展。Mako提供了丰富的模板语法和功能,包括条件语句、循环语句、宏等,可以满足各种需求。
