You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Mako模板中编写单行条件语句

Mako实现单行条件语句的两种方法

你可以通过以下两种方式实现Mako模板的单行条件逻辑,替代多行的% if结构:

方法1:内联控制结构

Mako允许将%开头的控制指令与内容放在同一行,不需要换行或反斜杠,直接按顺序拼接即可:

from mako.template import Template

tmpl = """Hello % if name: ${name} % else: world % endif"""
t = Template(tmpl)

print(t.render(name="Me"))    # 输出:Hello Me
print(t.render(name=None))    # 输出:Hello world

方法2:三元表达式(推荐)

更简洁的方式是使用Mako的表达式语法,直接嵌入Python风格的三元运算,完全不需要控制指令:

from mako.template import Template

tmpl = """Hello ${name if name else 'world'}"""
t = Template(tmpl)

print(t.render(name="Me"))    # 输出:Hello Me
print(t.render(name=None))    # 输出:Hello world

这种写法和你想要的Jinja风格一样简洁,而且更符合Mako的表达式优先设计思路。

内容的提问来源于stack exchange,提问作者somenxavier

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 04:10:35