python中Mako库怎么用?

舞夢輝影
发布: 2025-11-23 22:46:02
原创
162人浏览过
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"))

输出:

立即学习Python免费学习笔记(深入)”;

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 中加载并渲染:

随缘网络php企业网站管理系统2.0
随缘网络php企业网站管理系统2.0

随缘网络PHP企业网站管理系统V2.0正式发布,该企业网站管理系统采用PHP+MYSQL编写,界面色调风格延续之前1.0版管理系统简洁浅蓝色风格,稍有所变动。变更分类树形目录方式采用jquery库,产品,文章三级无限分类。希望大家能够喜欢。系统中难免有些小问题,希望大家在使用中有什么问题可到本站论坛提出,我们将总结各问题后给予修正并升级。本站再次声明对于免费版系列系统本站不提供QQ电话等技术咨询服

随缘网络php企业网站管理系统2.0 0
查看详情 随缘网络php企业网站管理系统2.0
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

ain> ${self.body()}

Default Title

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

Home Page

Home Content

Welcome, ${name}!

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 上手快,功能强,适合需要灵活控制输出的场景。

以上就是python中Mako库怎么用?的详细内容,更多请关注php中文网其它相关文章!

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号