如何在Python中像ERB一样做模板?

Mikey TK

如果您不熟悉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?

rmn

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在模板中像网络界面一样无指定指定子网?

如何在iOS中给像卡一样的阴影

如何在R中像cat一样粘贴

如何像haml一样连接“.erb”

像Qlik一样在Pandas中做Crosstable吗?

如何在Python3中像printf一样打印?

如何在Python中像字典一样解析XML

如何在 python tkinter 中像其他现代代码编辑器一样创建 minmap?

像React中的{... props}一样,如何在Vue中破坏props?

像附件中的图像一样,如何在Threejs中制作网格?

如何在django模型中像C一样在结构中存储值

如何在Angular 7中像AJAX一样使Asyn错误

像这张图片一样如何在android中创建菜单

如何在Windows中像Mac sudo权限一样在Windows中进行git pull?

如何在引导Vue下拉菜单中像圆形一样设置按钮样式

如何在Zend 2中像Laravel一样返回视图

像VScode一样,如何在CLion中启用Ctrl + Click导航?

如何在Arm Android设备中像/ data一样创建文件夹?

像Windows一样,如何在Ubuntu中获得低音增强?

如何在终端中像“ -tokens”一样打印令牌?

如何在iOS中像桌面一样呈现向左擦除字符⌫?

如何在d3.js中像这样的gif一样使圆圈的动画连续?

如何在UIView中添加“像雪花一样”效果

如何在聊天窗口中像Android中的whatsapp一样显示位置消息?

如何在Swift中像数组一样访问图像资产

如何在Objective-C中像Twitter一样显示预览

如何在管道链中像常规命令一样使用bash函数?

如何在Swift中创建像指南针一样的“滑动视图”?

如何在Java中像翻转卡片一样使用JButton