欢迎访问宙启技术站
智能推送

Python中如何使用Mako模板引擎生成HTML页面

发布时间:2023-12-25 23:39:03

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,然后为模板中的变量titleheadingitems赋值。最后,我们调用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提供了丰富的模板语法和功能,包括条件语句、循环语句、宏等,可以满足各种需求。