ERB http://ruby-doc.org/stdlib-2.3.0/libdoc/erb/rdoc/ERB.html如果您不熟悉的话,它是 Ruby On Rails 和许多其他 Ruby 项目使用的模板语言。简而言之,它允许您评估 HTML 模板内的原始 ruby 代码并呈现结果。
考虑以下:
#hello.erb
<html>
<body>
<p>Hello, <%= @name %></p>
</body>
<html>
Ruby 实例变量 @name 将被替换并呈现到用户看到的页面上。
现在,Python 有一种通用的模板语言,称为Jinja2 http://jinja.pocoo.org/其工作方式几乎相同(主要使用{{ }}
s 而不是<% %>
s),但两者之间有一个巨大的区别:
ERB 允许您使用any有效的 Ruby 代码,而 Jinja2 只有非常有限的 Python 式语言子集,而不是原始 Python。
问题:
如何使用 Python 模板化 HTML,使用整个语言,而不是有限的子集?
Mako http://www.makotemplates.org/允许编写常规的 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 http://docs.makotemplates.org/en/latest/syntax.html#python-blocks
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)