让我们一起来构建一个模板引擎(一)

475 查看

假设我们要生成下面这样的 html 字符串:


要求姓名以及 中的内容是根据变量动态生成的,也就是这样的:

没接触过模板的同学可能会想到使用字符串格式化的方式来实现:

这种方案有一个很明显的问题那就是,需要拼接两个 html 片段。 使用过模板技术的同学应该很容易就想到,在 Web 开发中生成 HTML 的更常用的办法是使用模板:

本系列文章要讲的就是如何从零开始实现一个这样的模板引擎( Template )。

使用技术

我们将使用将模板编译为 python 代码的方式来解析和渲染模板。 比如上面的模板将被编译为如下 python 代码: