簡體   English   中英

在一行中使用 mako 模板創建條件

[英]Make a conditional in mako template in one line

我在Mako 模板系統中有這個模板:

from mako.template import Template

tmpl = """
% if name:
Hello ${name}
% else:
Hello world
% endif
"""

t = Template(tmpl)
t.render(name="Me")

我想將模板修改為只有一行條件。 像這樣的東西(在神社語法中):

Hello {% if name %} {{name}} {% else %} world {% endif %}

似乎 Mako 在控制結構之前需要一行。 我嘗試\換行,但沒有用:

tmpl = """% if name:\ Hello ${name} \ % else:\ Hello world\ % endif"""

我們需要使用“\n”:

tmpl = "% if name:\n Hello ${name}\n % else:\n Hello world\n % endif"

如果我們使用文件模板,我們需要擴展“\n”。 正如這篇文章unicode Chapter in official Mako documentation 中所評論的那樣,一種解決方案可能是:

t2 = Template(filename="prova.tmpl", output_encoding='utf-8')
result = t2.render(name="Me").decode("unicode_escape")
print(result)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM