登录
首页 >  文章 >  python教程

Mako模板使用方法与实例详解

时间:2025-12-02 14:49:35 292浏览 收藏

各位小伙伴们,大家好呀!看看今天我又给各位带来了什么文章?本文标题《Mako模板使用教程与实例解析》,很明显是关于文章的文章哈哈哈,其中内容主要会涉及到等等,如果能帮到你,觉得很不错的话,欢迎各位多多点评和分享!

Mako 是高性能 Python 模板库,支持变量插入 ${}、逻辑控制 %、模板继承与文件加载,通过 Template 和 TemplateLookup 渲染动态内容,自动转义 HTML 防 XSS,可结合 markup 输出原始 HTML,适用于 Flask 等 Web 框架。

python中Mako库怎么用?

Mako 是一个高性能的 Python 模板库,常用于 Web 开发中生成动态 HTML、XML 或其他文本内容。它语法简洁,支持嵌套模板、继承、变量替换和逻辑控制,适合与 Flask、Django 或其他框架集成。

安装 Mako

使用 pip 安装:

pip install Mako

基本用法:渲染简单模板

你可以直接用字符串创建模板并渲染数据:

from mako.template import Template

template = Template("Hello, ${name}!") print(template.render(name="Alice"))

输出:

Hello, Alice!

${} 用于插入变量,Mako 会自动转义 HTML 特殊字符(可关闭)。

使用模板文件(推荐)

实际项目中通常将模板保存在文件中。

1. 创建目录 templates,新建文件 hello.html

Welcome, ${name}!

% if items:
    % for item in items:
  • ${item}
  • % endfor
% else:

No items found.

% endif

2. 在 Python 中加载并渲染:

from mako.lookup import TemplateLookup

设置模板查找路径

mylookup = TemplateLookup(directories=['templates'])

加载模板

template = mylookup.get_template("hello.html")

渲染

print(template.render(name="Bob", items=["Apple", "Banana"]))

模板继承(Layout 复用)

通过继承实现页面结构统一。

1. 创建基础模板 base.html

${self.title()}

My Site

${self.body()}

<%def name="title()">Default Title<%def>

2. 创建子模板 home.html 继承 base.html:

<%inherit file="base.html"/> <%def name="title()">Home Page<%def>

<%def name="body()">

Home Content

Welcome, ${name}!

<%def>

3. 渲染:

template = mylookup.get_template("home.html") print(template.render(name="Charlie"))

注意事项与技巧

  • 默认开启 HTML 转义,防止 XSS。若需输出原始 HTML,使用 ${markup(raw_html)} 并导入 from markupsafe import Markup
  • 模板中可用 Python 表达式:${len(items)}${" ".join(names)}
  • 使用 % 开头写 Python 语句,记得写 % endfor% endif
  • 缓存模板提升性能,尤其在生产环境

基本上就这些。Mako 上手快,功能强,适合需要灵活控制输出的场景。

本篇关于《Mako模板使用方法与实例详解》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>