如果您不熟悉ERB,则它是Ruby On Rails和许多其他Ruby项目使用的模板语言。简而言之,它允许您评估HTML模板中的原始红宝石代码并呈现结果。
考虑以下:
#hello.erb
<html>
<body>
<p>Hello, <%= @name %></p>
</body>
<html>
Ruby实例变量@name将被替换并呈现到用户看到的页面上。
现在,Python具有一种称为Jinja2的通用模板语言,其工作方式几乎相同(主要使用{{ }}
s而不是<% %>
s),但是两者之间有一个很大的不同:
ERB允许您使用任何有效的Ruby代码,而Jinja2仅具有非常有限的Python式语言子集,而没有原始Python。
您如何使用Python而不是有限的子集使用HTML来模板化HTML?
Mako允许编写常规的Python代码块,如下所示
this is a template
<%
x = db.get_resource('foo')
y = [z.element for z in x if x.frobnizzle==5]
%>
% for elem in y:
element: ${elem}
% endfor
http://docs.makotemplates.org/en/latest/syntax.html#python-blocks
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句