python中Mako库怎么用?

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

<html> <body> <h1>Welcome, ${name}!</h1> % if items: <ul> % for item in items: <li>${item}</li> % endfor </ul> % else: <p>No items found.</p> % endif </body> </html>

2. 在 Python 中加载并渲染:

乐活途购物分享社区
乐活途购物分享社区

beta v1.1版本为第一个版本,简单的整合了基础功能,各位站长拿到程序后,不要纠结后台的功能简单,后续将不断更新扩展。在beta v1.1版本使用过程中遇到什么问题,请登录 www.loftto.com 进行反馈! 安装说明######重要提醒:程序不支持二级目录安装,请使用一级目录或二级目录绑定!#第一步,确定你的服务器支持PHP+mysql。#第二步,确定你的服务器开启了gd库。#第三步,

乐活途购物分享社区 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

<html> <head> <title>${self.title()}</title> </head> <body> <header><h1>My Site</h1></header> <main> ${self.body()} </main> </body> </html>

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

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

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

<%def name="body()"> <h2>Home Content</h2> <p>Welcome, ${name}!</p> <%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 上手快,功能强,适合需要灵活控制输出的场景。

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

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

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

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

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