web.py源码分析: 模板(2)

371 查看

上一篇文章web.py源码分析: 模板(1)说明了web.py的模板的大致工作原理。本文重点讲述web.py模板支持的语法是如何转换生成__template__函数的。

web.py模板语法和__template__()函数的对应关系

本章会列出模板内容以及转换之后的__template__()函数的内容,以及必要的文字说明。模板的名称统一是hello.html

纯字符串

模板内容

函数内容

def with

模板内容

函数内容

从生成的函数可以看出,def with语法所生成的就是__template__()函数的参数列表。

表达式替换

模板内容

函数内容

表达式的替换就是执行表达式(表达式对应的代码),得到的结果添加到TemplateResult实例中。

赋值

模板内容