Python模板引擎

jtu*_*uro 4 python templates

如果有人可以帮助我开始编写python模板引擎吗?我是python的新手,当我学习语言时,我已经设法编写了一个在自己的轻量级WSGI类服务器上运行的MVC框架.

我设法编写了一个脚本来查找和替换值的键:(显然,这不是我的脚本的结构或实现方式.这只是一个例子)

from string import Template

html  = '<html>\n'
html += '  <head>\n'
html += '  <title>This is so Cool : In Controller HTML</title>\n'
html += '  </head>\n'
html += '  <body>\n'
html += '    Home | <a href="/hi">Hi ${name}</a>\n'
html += '  </body>\n'
html += '<html>'

Template(html).safe_substitute(dict(name = 'Arturo'))
Run Code Online (Sandbox Code Playgroud)

我的下一个目标是实现自定义语句,修饰符,函数等(如'for'循环)但我真的不知道我是否应该使用另一个我不知道的模块.我想到了正则表达式,但我觉得这不是一种有效的方法

任何帮助表示赞赏,我相信这对其他人也有用.

谢谢

nkr*_*rkv 18

Python支持许多强大的模板语言.我更喜欢Jinja2.还可以看看MakoGenshi.

Mako在三者中是最快的,但它的意识形态允许在模板中拥有复杂的代码逻辑,不时地引发MVC原则违规.

Genshi具有出色的构思,特别强大的功能是反转模板继承.但它在三个中是最慢的,并且实践表明它的所有功能在实际项目中通常都是过度的.

Jinja2在我个人看来是一个黄金中间.由于它使用类似于Django模板和Liquid模板语言的语法,因此很容易扩展,非常快速且很熟悉.